❶ C语言实验题求解(。)
第1题
1.改为while(n<=7)
2.改为while(a<1||a>50)
3.改为i=1
❷ C语言求3-7位数的水仙花数程序改错
你的程序主要问题是pow函数返回的是double类型的数,需要强制转换成long型整数,
sum每计算完一个数要重置蠢敬乎为0,还有就是输出语句printf函数的变量不需要取地址符.
改完的程序如带悉下(见图,改动的地方见稿盯注释)
❸ 初学者C语言程序改错题
首先我指出你书写的一个错误。switch(c-'2')下面那行的(
应该改成{
因为{是与default:putchar(c+2);下面出现的}进行配对的。
依次输入2473得到输出668977,只需修改一处地方。在case
2:putchar(c+4);后面加上
break;
分析如下:使用getchar输入,每次只能识别一个字符,而又使用了while循环,输入2473就相当于输入了4个数,while每次识别一个。
先分析输入2的情况:这里的2是字符'2',执行switch(c-'2'),‘2’-‘2’=0;因此要执行case
0的情况,case
0
和case
1
共用册谨putchar(c+4),故2+4=6,要输出6,记住:输出的这个6其实是字伏孙符‘6’。然后继续执行case
2:putchar(c+4);输出第二个‘6’。这时后面加上了break;即跳出本层switch,本次while循环执行完毕。第一次循环完毕,输出了:66
然后是输入为4的情况:执行switch(c-'2'),‘4’-‘2’=2;所以执行case
2:putchar(c+4);即4+4=8,输出一个8(字符‘8’)。继续执行break;跳出本层switch,本次while循环执行完毕。第二次循环完毕,输出了:8
继续输入为州厅基7的情况:执行switch(c-'2'),‘7’-‘2’=5;要执行case
5,但本程序中并没有case
5,故执行缺省情况
default:putchar(c+2);‘7’+‘2’=‘9’,因此输出9(字符‘9’)。本次while循环执行完毕。第三次循环完毕,输出了:9
最后一个输入数3的情况:执行switch(c-'2'),‘3’-‘2’=1;所以执行
case
1:putchar(c+4);即‘3’+‘4’=‘7’,输出7(字符‘7’)。继续执行case
2:putchar(c+4);又输出了一个7(字符‘7’)。遇到后面的break;跳出switch,本次while循环结束。第四次循环结束,输出了:77
至此,全部四次循环均结束,所以最后的输出是668977.
❹ 读取7个数(1-50)的整数指,每读取一个值,程序打印出该值个数的*
你指的读取是怎稿模么个读取法?
用一个框打入去?还是怎么样?
如果是拿个框打入去然后要打印这个携正值出来就是弄个textbox把值打进去然后弄个button再搞个lable把值返回出键隐缓来啊。。不过这样好象多此一举吧。。?说详细点。我还是不明白你什么意思
❺ c语言题目求解:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。
#include<stdio.h>
int main(void)
{
int i,j,n;
for(i=1;i<岩高穗=7;i++)
{
scanf("%d",&n);
if(n>=1&&n<=50)
for(j=1;j<=n;j++)
printf("*"念枝);
printf("\粗卜n");
}
return 0;
}