58、 若输入7 4 8 9 1 5,则输出:
5 7 4 8 9 1 1 5 7 4 8 9 9 1 5 7 4 8 8 9 1 5 7 4 4 8 9 1 5 7 7 4 8 9 1 5
59、 把两个已按升序排列的数组合并成一个升序数组 60、 编程打印用户指定的n阶顺时针螺旋方阵(n<10)。 61、 生成并打印某数列的前20项,该数列第1,2项分别为0和1,以后每个奇数编号的项是前
两项之和,偶数编号的项是前两项差的绝对值。生成的20个数存在一维数组x中,并按每行4项的形式输出。
参考答案
第9题:
(1)不使用数组: int main(void) { char c; int i=0; c=getch(); while(i<26) { printf(\ i++; c--; if(c<'a') c='z'; } getch(); return 0; } (2)应用一维数组 int main(void) { char c[26],in; int i,count=0,start; in=getch(); start=in-'a'; for(i=0;i<26;i++) c[i]='a'+i; while(count<26) { printf(\ count++; start--; if(start<0) start=25; } getch(); return 0; }
第13题:
#include \int main(void) {
int a[30],b[10]={0},i; randomize();
for(i=0;i<30;i++){ a[i]=random(10); printf(\ }
for(i=0;i<30;i++){ b[a[i]]++; }
for(i=0;i<10;i++) { printf(\ } getch(); }
第14题: int main(void) {
int a[100]={0},i,j,t; for(i=1;i<100;i++) { a[i]=i+1;
printf(\ }
for(i=0;i<100;i++) { if(a[i]!=0) { t=a[i];
for(j=i+1;j<100;j++) { if(a[j]%t==0) a[j]=0; } } }
printf(\
for(i=0;i<100;i++) {
if (a[i]) printf(\ }
getch(); return 0; }
第16题: int main(void) {
int a[15],i,j,count,del=0; for(i=0;i<15;i++) { a[i]=i+1; }
i=0;count=0; while(del!=14) { if(a[i]!=0) { count++;
if(count%7==0) {a[i]=0;del++;} }
i++;
if(i>14) i=0; }
for(j=0;j<15;j++) printf(\ getch(); return 0;
}
第28题: int main(void) {
char str[100],sub[50]; int i,j,len;
printf(\ gets(str);
printf(\ gets(sub);
len=strlen(sub); i=0;
while(str[i]!='\\0') {
if(str[i]==sub[0]) {
j=0;
while(sub[j]!='\\0') {
if(sub[j]!=str[i+j]) break; j++; } }
if(j==len) {
printf(\ break; } i++; }
if(str[i]=='\\0')
printf(\ getch(); return 0;
}
第30题: main() {
char a[100]; int i,j; gets(a); i=0;
while(a[i]!='\\0') {
if(a[i]>=48&&a[i]<=57) {
j=i;
while(a[j]!='\\0') {
a[j]=a[j+1]; j++; } i--; } i++; }
puts(a); getch(); }
第34题: 方法一: int main(void) {
int a[10]; int i,j,t;
printf(\ for (i=0;i<10;i++)
scanf(\ printf(\ for(j=0;j<9;j++)
for(i=0;i<9-j;i++) if (a[i]>a[i+1]) {
t=a[i];
a[i]=a[i+1];
相关推荐: