❶ 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;
}