日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言简单编程

發布時間:2023/12/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言简单编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、一元二次方程求實根
  • 二、實現兩個字符串的連接并且不用strcat函數
  • 三、計算并輸出楊輝三角前十行
  • 四、輸入正整數n生成n*n方陣,轉置并輸出
  • 五、輸入字符串求其長度
  • 六、編寫函數,函數功能:刪去一維數組中所有重復的數,只保留不同的數。
  • 七、將一個數插入到數組中,并且不改變數組原來的順序
  • 八、輸入兩個整數,求最大公因數
  • 九、輸入一個十進制數,轉換為任意進制數
  • 十、輸入一個以回車為結束的字符串,過濾掉所有的非數字字符后轉換成十進制整數輸出
  • 十一、循環右移:整數右移任意位置
  • 十二、輸入一個一回車結束的字符串,過濾掉所有非十六進制數后組成一個新的字符串,輸出該字符串并將其轉換成十進制后輸出
  • 十三、字符數組中任意位置插入任意字符
  • 十四、輸入兩個字符串,找到第二個字符串在第一個字符串中的位置,如沒找到輸出-1。用指針法實現
  • 十五、遞歸方法將整數n轉換成字符串


一、一元二次方程求實根

#include <stdio.h> #include <math.h> int main() {float a,b,c,x1,x2,m,n,disc;scanf("%f%f%f",&a,&b,&c);disc=b*b-4*a*c;//dis<0無實根,>0有兩個不相等的實根,=0有兩個相等的實根if(m<0)printf("方程無實根");else{m=sqrt(disc)/(2*a);n=(-b)/(2*a);x1=n+m;x2=n-m;printf("兩個實根分別為%f,%f",x1,x2);} return 0; }

二、實現兩個字符串的連接并且不用strcat函數

#include <stdio.h> int main() {char ch1[50],ch2[20],*p,*q;gets(ch1);gets(ch2);p=ch1;q=ch2;while(*p)p++;while(*q){*p=*q;p++;q++; }*p='\0';puts(ch1);return 0; }

三、計算并輸出楊輝三角前十行

#include <stdio.h> int main() {int i,j,a[10][10]={0};for(i=0;i<10;i++){a[i][0]=1;a[i][i]=1;}for(i=2;i<10;i++)for(j=0;j<=i;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=0;i<10;i++){for(j=0;j<10;j++)printf("%4d",a[i][j]);printf("\n") ; } return 0; }

四、輸入正整數n生成n*n方陣,轉置并輸出

#include <stdio.h> int main() {int i,j,t,n,a[10][10],b[10][10];scanf("%d",&n);if(n>1&&n<=6){for(i=0;i<n;i++)for(j=0;j<n;j++)a[i][j]=i*n+j+1;for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%4d",a[i][j]);printf("\n");}printf("\n");for(i=0;i<n;i++)for(j=0;j<n;j++)b[j][i]=a[i][j];for(i=0;i<n;i++){for(j=0;j<n;j++)printf("%4d",b[i][j]);printf("\n");}return 0; }}

五、輸入字符串求其長度

#include <stdio.h> int main() {int length (char *p);int len;char ch1[80];gets(ch1);len=length(ch1);printf("長度為%d",len); } int length(char *p) {int n=0; while(*p) {p++;n++; } return n; }

六、編寫函數,函數功能:刪去一維數組中所有重復的數,只保留不同的數。

#include <stdio.h> int fun(int a[],int x) {int i,j,k;for(i=0;i<x;i++){for(j=i+1;j<x;j++)if(a[i]==a[j]){for(k=j;k<x-1;k++)a[k]=a[k+1];j--;x--;}} return x; } int main() {int a[100],i,n,x;printf("輸入數組個數:");scanf("%d",&x);printf("輸入數組內容:"); for(i=0;i<x;i++)scanf("%d",&a[i]);n=fun(a,x);for(i=0;i<n;i++)printf("%d ",a[i]);return 0; }

七、將一個數插入到數組中,并且不改變數組原來的順序

#include <stdio.h> int main() {int a[10]={1,3,5,7,9,10,11,15,17};int x,i,j,k;scanf("%d",&x);if(x>a[8])a[9]=x;else{for(i=0;i<9;i++)if(x<a[i]){ for(j=9;j>i;j--)a[j]=a[j-1];a[i]=x;break;} } for(i=0;i<10;i++)printf("%3d",a[i]); return 0; }

八、輸入兩個整數,求最大公因數

#include <stdio.h> int main() {int m,n,r;do{scanf("%d%d",&m,&n);}while(m<=0||n<=0);if(m<n){r=m;m=n;n=r;}while(n!=0){r=m%n;m=n;n=r;}printf("%d",m);return 0; }

九、輸入一個十進制數,轉換為任意進制數

#include <stdio.h> int main() {int m,n,k,a[10],i,j;char s[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};printf("輸入一個十進制數:\n");scanf("%d",&m);printf("要轉換的進制是:\n");scanf("%d",&n);i=0;while(m!=0){ k=m%n;a[i]=k;i++;m=m/n;}for(j=i-1;j>=0;j--)printf("%c",s[a[j]]); return 0;}

十、輸入一個以回車為結束的字符串,過濾掉所有的非數字字符后轉換成十進制整數輸出

#include <stdio.h> int main() {char c[20];int i=0,m=0;while((c[i]=getchar())!='\n'){if(!(c[i]>='a'&&c[i]<='z')&&!(c[i]>='A'&&c[i]<='Z'))m=m*10+c[i]-'0';i++;}printf("%d",m);return 0; }

十一、循環右移:整數右移任意位置

有n個整數,使前面各數順序循環移動m個位置(m<n)。
編寫函數實現上述功能,在主函數中輸入n個整數并輸出調整后的n個數。例如:
輸入 input n,m:5,3
1 2 3 4 5
輸出:3 4 5 1 2

#include <Stdio.h> void fun(int *x,int m,int n); int main() {int a[10],m,n,i;scanf("%d",&n);scanf("%d",&m);for(i=0;i<n;i++)scanf("%d",&a[i]);fun(a,n,m);for(i=0;i<n;i++)printf("%d",a[i]);return 0; } void fun(int *x,int n,int m) {int i,j,k;for(i=0;i<m;i++){k=x[n-1];for(j=n-1;j>0;j--)x[j]=x[j-1];x[0]=k;} }

十二、輸入一個一回車結束的字符串,過濾掉所有非十六進制數后組成一個新的字符串,輸出該字符串并將其轉換成十進制后輸出

#include <Stdio.h> int main() {char c,a[80];int i=0,j=0,b[80],m=0;while((c=getchar())!='\n'){if((c>='a'&&c<='f')||(c>='A'&&c<='F')||(c>='0'&&c<='9')){a[j]=c;j++;}i++;}a[j]='\0';printf("%s\n",a);i=0;while(a[i]!='\0'){if(a[i]>='a'&&a[i]<='f')b[i]=a[i]-'a'+10;if(a[i]>='A'&&a[i]<='F')b[i]=a[i]-'A'+10;if(a[i]>='0'&&a[i]<='9')b[i]=a[i]-'0';i++;}for(j=0;j<i;j++)m=m*16+b[j];printf("%d",m);return 0; }

十三、字符數組中任意位置插入任意字符

#include <stdio.h> int main() {char s[80],c,*p,*q;int x,n=0;gets(s);scanf("%c",&c);scanf("%d",&x);p=q=s;while(*p)p++;while(*q){n++;if(n==x){while(p>=q)*(p+1)=*p--;*q=c;break;}q++;}puts(s);return 0; }

十四、輸入兩個字符串,找到第二個字符串在第一個字符串中的位置,如沒找到輸出-1。用指針法實現

#include <stdio.h> int main() {char ch1[80],ch2[80],*p,*q;gets(ch1);gets(ch2);p=ch1;q=ch2;int count=0,flag=1;while(*p){if(*p==*q){while(*p==*q&&*q!='\0'){p++;q++;}p--;}if(*q=='\0'){flag=0;break;}else {p++;count++;q=ch2;}}if(flag==1)printf("-1");else printf("%d個位置",count);return 0;}

十五、遞歸方法將整數n轉換成字符串

#include <stdio.h> int main() {void convert(int n);int number;scanf("%d",&number);if(number<0){putchar('-');number=-number;}convert(number);printf("\n");} void convert(int n) {int i;if((i=n/10)!=0)convert(i);putchar(n%10+'0'); }

總結

以上是生活随笔為你收集整理的C语言简单编程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。