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"); }

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)来判断是否是奇

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值