c语言函数编程例题及答案?c语言经典例题100及答案
今天给各位分享c语言函数编程例题及答案的知识,其中也会对c语言经典例题100及答案进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
C语言函数编程
第一个题代码不想写了
设置一个标志位Is_Char初始化为false
设置一个int MaxCount他存放目前发现的最长字符的计数。
设置一个int Count他存放当前这个单词的长度。
对每次输入的getchar任意字符存储进一个大数组,再判断:
输入空字符时候,Is_Char=false; Count=0;
输入字符时Is_Char=true; Count++;此时判断if(Count>MaxCount)那么MaxCount=Count;并把当前的大数组的下标存进int MaxEndMark.
当输入结束时,用得到的MaxCount,MaxEndMark打印出数组中的元素。
第二题楼上的程序修改后如下:
#include<stdio.h>
void func(int a[4][4])
{int i,j,temp;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
temp=a[i][j];
a[i][j]=a[j][i];
a[j][i]=temp;
}
C语言程序函数题
首先我们先解决两个问题,第一,fun()函数和main()函数中M值的问题,因为虽然两个参数的参数名相同但是它们的存储位置不同,所以在fun()函数中改变M值主函数中M的值不会改变(如果想改变它的值可以考虑用指针,具体的你自己看书吧)
第二,函数调用问题,fun(M/2)这种条用方式是很危险的,它在fun()函数中执行时的表达式是这样的 M/2=M/2<=2?5:0,所以我建议你以后在你没有十足的把握的情况下不要使用。
第一步,主函数中M值没有变化 M1=5
第二步,主函数中M值变为2,fun函数中要仔细推一下才能知道,但是不影响主函数中M值,M2=2,有兴趣你可以去算算.
第三步,M的值无变化,所以为M3=2
关于C语言函数的题 求解
#include<stdio.h>
#include<string.h>
#include<stdlib.h>//exit函数头文件
intmain(void)
{
chara[30],b[30];//存放字符串数组,数组长度可以稍微长点
charch;//存放临时字符
intlength_a,length_b;//统计字符串长度
inti=0,j=0;
//scanf("%s",&a);
//为什么不用scanf%s:scanf遇到空格即停止,所以如果输入abc123的话只会存入abc.下面用条件语句实现
//存入字符串a
printf("请输入字符串a并按enter键结束:");
while((ch=getchar())!='
')
{
i++;
if(i>30)
{
printf("输入的字符串太长,请按enter键退出重试。
");
exit(1);
}
else
a[j++]=ch;
}
a[j]='\0';//添加字符串结束标识
i=0;//重置计数变量
j=0;
//存入字符串b
printf("请输入字符串b并按enter键结束:");
while((ch=getchar())!='
')
{
i++;
if(i>30)
{
printf("输入的字符串太长,请按enter键退出重试。
");
exit(1);
}
else
b[j++]=ch;
}
b[j]='\0';
//得出两字符串长度
length_a=strlen(a);
length_b=strlen(b);
printf("您输入的a、b字符串依次为:
");
printf("a:%s
",a);
printf("b:%s
",b);
//如果a长度大于b长度,则交换
if(length_a>length_b)
{
printf("
a较长,需交换,交换后的结果为:
");
for(i=0;i<length_a;i++)
{
ch=a[i];
a[i]=b[i];
b[i]=ch;
}
for(i=length_a;i<length_b;i++)
{
b[i]=a[i];
}
a[length_b]='\0';
b[length_a]='\0';
}
else
printf("
a较短,不需交换,结果仍为:
");
printf("a:%s
",a);
printf("b:%s
",b);
return0;
}
好了,关于c语言函数编程例题及答案和c语言经典例题100及答案的问题到这里结束啦,希望可以解决您的问题哈!