數(shù)組和循環(huán)程序設(shè)計
一、實驗?zāi)康?BR> 1.熟悉數(shù)組的定義、初始化、元素引用方法。
2.熟悉while、do-while、for語句的格式與功能,掌握循環(huán)程序設(shè)計的一般方法。
3.掌握使用單重循環(huán)處理一維數(shù)組元素的程序設(shè)計方法。
4.掌握使用循環(huán)結(jié)構(gòu)處理數(shù)組中存放字符串的程序設(shè)計方法。
5.掌握使用二重循環(huán)處理二維數(shù)組元素的程序設(shè)計方法。
6.熟悉系統(tǒng)提供的字符串處理函數(shù)。
二、預(yù)習(xí)要求
1.復(fù)習(xí)while、do-while、for、break、continue語句的格式和功能。
2.復(fù)習(xí)一維數(shù)組和二維數(shù)組的定義與初始化方法。
3.復(fù)習(xí)字符型數(shù)組的定義和初始化方法。
4.復(fù)習(xí)字符串處理函數(shù)的調(diào)用格式和功能。
三、實驗準(zhǔn)備
【問題一】循環(huán)結(jié)構(gòu)的程序設(shè)計
編一個C程序,計算并輸出數(shù)列:1、3.5…、2n-1、…的前n項之和,其中的n由鍵盤輸入。(要求分別用for、while、do-while語句來完成)
【待填充的源程序參考清單】
方法一(用for語句實現(xiàn))
main()
{long s,n,k, i;
scanf("____________________",&n);
k=2*n-1;
_____________________;
for(i=1;i<=k;i++,_________________) s+=i;
printf("1+3+…+%1d=%1d\n",k,s)
}
方法二(用while語句實現(xiàn))
main()
{ long s________________________,n,i=1;
scanf("%1d",&n);
while(_______________________)
{ s+=i;
_____________________;
}
printf("1+3+…+%1d=%1d\n", 2*n-l,s);
}
方法三(用do語句實現(xiàn))
main()
{ long s=0,n,i=___________________;
scanf("%1d",&n);
do
{ s+=i_____________________;
i++;
} while(____________________);
printf("1+3+…+%1d=%1d\n",2*n-1,s);
}
【問題二】一維數(shù)組及單重和二重循環(huán)的應(yīng)用
編一個C程序,從鍵盤上輸入n(n≤10)和 n個整數(shù),存入數(shù)組a中。先依次輸出各個數(shù)組元素的值(a[0]、a[1]、...);然后對數(shù)組a的所有元素值按從小到大的順序重新排序;再依次輸出各個數(shù)組元素的值(a[0]、a[1]…)。
【待填充的源程序參考清單】
main()
{ int a[10],n,i,j,_________________;
printf("input n=");
scanf("%d",&n);
printf("input array a[0]a[l]… a[%d]:\n",n-1);
for(i=0;i<n;i++)
scanf("%d",______________________);
printf("before sort:array\n");
for(i=0;i<n;i--)
printf("%d",a[i]);
printf("\n");
for(i=0;i<_______________________;i++)
{ min=i;
for(j=___________________;j<n;j++)
if(a[j]<a[min])_________________;
ax=____________________;
a[i]=a[min];
____________________=ax;
}
printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%d", a[i]);
printf("\n");
}
一、實驗?zāi)康?BR> 1.熟悉數(shù)組的定義、初始化、元素引用方法。
2.熟悉while、do-while、for語句的格式與功能,掌握循環(huán)程序設(shè)計的一般方法。
3.掌握使用單重循環(huán)處理一維數(shù)組元素的程序設(shè)計方法。
4.掌握使用循環(huán)結(jié)構(gòu)處理數(shù)組中存放字符串的程序設(shè)計方法。
5.掌握使用二重循環(huán)處理二維數(shù)組元素的程序設(shè)計方法。
6.熟悉系統(tǒng)提供的字符串處理函數(shù)。
二、預(yù)習(xí)要求
1.復(fù)習(xí)while、do-while、for、break、continue語句的格式和功能。
2.復(fù)習(xí)一維數(shù)組和二維數(shù)組的定義與初始化方法。
3.復(fù)習(xí)字符型數(shù)組的定義和初始化方法。
4.復(fù)習(xí)字符串處理函數(shù)的調(diào)用格式和功能。
三、實驗準(zhǔn)備
【問題一】循環(huán)結(jié)構(gòu)的程序設(shè)計
編一個C程序,計算并輸出數(shù)列:1、3.5…、2n-1、…的前n項之和,其中的n由鍵盤輸入。(要求分別用for、while、do-while語句來完成)
【待填充的源程序參考清單】
方法一(用for語句實現(xiàn))
main()
{long s,n,k, i;
scanf("____________________",&n);
k=2*n-1;
_____________________;
for(i=1;i<=k;i++,_________________) s+=i;
printf("1+3+…+%1d=%1d\n",k,s)
}
方法二(用while語句實現(xiàn))
main()
{ long s________________________,n,i=1;
scanf("%1d",&n);
while(_______________________)
{ s+=i;
_____________________;
}
printf("1+3+…+%1d=%1d\n", 2*n-l,s);
}
方法三(用do語句實現(xiàn))
main()
{ long s=0,n,i=___________________;
scanf("%1d",&n);
do
{ s+=i_____________________;
i++;
} while(____________________);
printf("1+3+…+%1d=%1d\n",2*n-1,s);
}
【問題二】一維數(shù)組及單重和二重循環(huán)的應(yīng)用
編一個C程序,從鍵盤上輸入n(n≤10)和 n個整數(shù),存入數(shù)組a中。先依次輸出各個數(shù)組元素的值(a[0]、a[1]、...);然后對數(shù)組a的所有元素值按從小到大的順序重新排序;再依次輸出各個數(shù)組元素的值(a[0]、a[1]…)。
【待填充的源程序參考清單】
main()
{ int a[10],n,i,j,_________________;
printf("input n=");
scanf("%d",&n);
printf("input array a[0]a[l]… a[%d]:\n",n-1);
for(i=0;i<n;i++)
scanf("%d",______________________);
printf("before sort:array\n");
for(i=0;i<n;i--)
printf("%d",a[i]);
printf("\n");
for(i=0;i<_______________________;i++)
{ min=i;
for(j=___________________;j<n;j++)
if(a[j]<a[min])_________________;
ax=____________________;
a[i]=a[min];
____________________=ax;
}
printf("after sort:array\n");
for(i=0;i<n;i++)
printf("%d", a[i]);
printf("\n");
}

