c语⾔实例含答案,C语⾔编程实例精选(附答案50题)
这是在学校⾥练习和考⼆级中的精选,⾮常有⽤,很⾼兴和⼤家分享,欢迎下载!
1、 请编写函数fun,函数的功能是:在字符串中所有数字字符前加⼀个$字符。
例如,输⼊:A1B23CD45,则输出为:A$1B$2$3CD$4$5。
注意:部分源程序给出如下。 #include
/*注:该题⽤while()循环来控制原字符串从头⾛到尾,在⾛动过程中判断是当前字符是否是数字,若是则在新串中先连⼀个'$'然后再连原字符,否则直接连原字符。⼀定要注意指针和下标的变化。最后要把新串拷贝到s所指的地址中,注意不能⽤s=a;若⽤了,则实参数组还是原字符串。*/ void fun( char *s) {char a[100]; int i=0; while(*s)
if(*s>='0'&&*s<='9') {a[i++]='$';a[i++]=*s++;} else a[i++]=*s++; a='\0';
strcpy(s,a); }
main()
{ char s[80];
printf("enter a string:"); scanf("%s", s); fun(s);
printf("the result: %s\n", s); }
2、 写程序,实现矩阵(3⾏3列)的转置(即⾏列互换)。
例如,输⼊⼀⾯的矩阵:
程序输出:
试题程序:
#include #include
/*这题的关键在于进⾏⾏列下标转换的算法,由矩阵的对称性我们不难看出在进⾏⾏列 互换时a[j]在好是与a[j][i]互换,因⽽只要我位让程序⾛完矩阵的左上⾓即可(⽤
for(i=0;i<2;i++)再套for(j=i+1;j<3;j++)来完成左上⾓的⾛动。*/ int fun(int array[3][3]) { int i,j,t;
for(i=0;i<2;i++) for(j=i+1;j<3;j++)
{t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;} }
main() { int i,j; int
array[3][3]={{100,200,300},{400,500,600},{700,800,900}}; clrscr();
for(i=0;i<3;i++) {for(j=0;j<3;j++)
printf("%7d",array[i][j]); printf("\n"); }c编程网站
fun(array);
printf("Converted array:\n"); for(i=0;i<3;i++) {for(j=0;j<3;j++)
printf("%7d",array[i][j]); printf("\n");}} 3、 请编⼀个函数fun(int *a,int n,int *odd,int *even),函数的功能是分别求出数组中所有奇数之和以及所有偶数之和。形参n给了数组中数据的个数:利⽤指针odd返回奇数之和,利⽤指针even返回偶娄这和。
例如:数组中的值依次为:1,8,2,3,11,6;则利⽤指针odd返回奇数之和24;利⽤指针even返回偶数之和8。 试题程序。
#include #include #define N 20
/*注:该题的算法是:⽤for()循环⼀步⼀步地元素,⽤if(!a[i]%2)来判断是否是奇

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。