版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
南開(kāi)100題二級(jí)C
題目1
編一個(gè)函數(shù)fun(char*s),函數(shù)的功能是把字符串中的內(nèi)容逆置。
例子如:字符串中原有的內(nèi)容為:abcdefg,則調(diào)用該函數(shù)后,串中的
內(nèi)容為:gfedcba
O
試題程序:
ttinclude<string.h>
#include<conio.h>
ttinclude<stdio.h>
ttdefineN81
/*注:該題的算法是先分別找出字符串的兩頭,然后同時(shí)逐一往中間移
動(dòng),每移動(dòng)一次
都進(jìn)行兩字符的位置對(duì)換,直到中間字符(用s+i〈s+nT-i來(lái)控制)。
由于s+i中一個(gè)
地址,因此要注意把它的內(nèi)容取出再進(jìn)行換位。即先進(jìn)行取內(nèi)容運(yùn)算*)
*/
fun(char*s)
{inti=0,t,n=strlen(s);
for(;s+i<s+n-l-i;i++)
{t=*(s+i);*(s+i)=*(s+nT-i);*(s+n-l-i)=t;}
main()
{chara[N];
clrscr();
printf("Enterastring:z,);gets(a);
printf(,zTheoriginalstringis:z/);puts(a);
fun(a);
printf('\n");
printf(?,Thestringaftermodified:,z);
puts(a);
}
題目2
寫程序,實(shí)現(xiàn)矩陣(3行3歹6)的轉(zhuǎn)置(即行列互換)。
例如,輸入一面的矩陣:
程序輸出:
試題程序:
#include<stdio.h>
#include<conio.h>
/*這題的關(guān)鍵在于進(jìn)行行列下標(biāo)轉(zhuǎn)換的算法,由矩陣的對(duì)稱性我們不難
看出在進(jìn)行行列
互換時(shí)a[j]在好是與a[j][i]互換,因而只要我位讓程序走完矩陣的左
上角即可(用
for(i=0;i<2;i++)再套for(j=i+l;j<3;j++)來(lái)完成左上角的走動(dòng)。*/
intfun(intarray[3][3])
{inti,j,t;
for(i=0;i<2;i++)
for(j=i+l;j<3;j++)
{t=array[i][j];array[i][j]=array[j][i];array[j][i]=t;}
}
main()
{inti,j;
intarray[3][3]={{100,200,300},{400,500,600},{700,800,900)};
clrscr();
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf(級(jí)7d”,array[i][j]);
printf('\n");
}
fun(array);
printf(''Convertedarray:\n");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%7d”,array[i][j]);
printf('\n");
題目3
請(qǐng)編一個(gè)函數(shù)fun(int*a,intn,int*odd,int*even),函數(shù)的功能是
分別求出數(shù)
組中所有奇數(shù)之和以及所有偶數(shù)之和。形參n給了數(shù)組中數(shù)據(jù)的個(gè)數(shù):
利用指針。dd返回
奇數(shù)之和,利用指針even返回偶婁這和。
例如:數(shù)組中的值依次為:1,8,2,3,11,6;則利用指針odd返回
奇數(shù)之和24;利用
指針even返回偶數(shù)之和8。
試題程序。
#include<stdio.h>
ttinclude<conio.h>
#defineN20
/*注:該題的算法是:用for()循環(huán)一步一步地找元素,用if(!a[i]%2)
來(lái)判斷是否是奇
數(shù),%運(yùn)算是求余運(yùn)算,當(dāng)對(duì)2求余為1時(shí)表示原數(shù)為奇數(shù),否則為偶
數(shù)。*/
fun(int*a,intn,int*odd,int*even)
{inti;*even=0;*odd=0;
for(i=0;i<n;i++)
if(!(a[i]%2))
*even+=a[i];
else
*odd+=a[i];
}
main()
{inta[N]={l,9,2,3,11,6},i,n=6,odd,even;
clrscr();
printf(/?Theoriginaldatais:\nz,);
for(i=0;i<n;i++)printf("%5d”,*(a+i));
printf("\n\n");
fun(a,n,&odd,&even);
printf("Thesumofoddnumbers:%d\n/z,odd);
printf(?,Thesumofevennumber:%d\nz/,even);
}
題目4
要求程序的功能是:把20個(gè)隨機(jī)數(shù)存入一個(gè)數(shù)組,然后輸出該數(shù)組中
的最小值。其
中確定最小值的下標(biāo)的操作在fun函數(shù)中實(shí)現(xiàn),請(qǐng)給出該函數(shù)的定義。
試題程序。
#include<stdio.h>
#include<conio.h>
#defineVSIZE20
intvector[VSIZE];
/*注:該題的算法是用一個(gè)變量(j)來(lái)存儲(chǔ)最小值元素的下標(biāo),在循環(huán)
過(guò)程中讓每個(gè)元
素都與原最小值元素進(jìn)行大小比較(if(list[i]Gist[j]),如發(fā)現(xiàn)更小
的則讓j重新
擁有最小值元素的下標(biāo)(j=i)o*/
intfun(intlist[],intsize)
{inti,j=0;
for(i=l;i<size;i++)
if(list[i]<list[j])
j=i;
returnj;
)
main()
{
inti;
clrscr();
for(i=0;i<VSIZE;i++)
vector[i]=rand();
printf(^Vector[%d]=%6d\n,,,i,vector[i]);
}
i=fun(vector,VSIZE);
printf('AnMininum:vector[%d]=%6d\n,/,i,vector[i]);
}
題目5
請(qǐng)編一個(gè)函數(shù)floatfun(doubleh),函數(shù)的功能是對(duì)變量h中的值保
留2位小數(shù),并
對(duì)第三位進(jìn)行四舍五入(規(guī)定h中的值為正數(shù))。
例如:h值為8.32433,則函數(shù)返回8.32;
h值為8.32533,則函數(shù)返回8.33。
試題程序。
#include<stdio.h>
ttinclude<conio.h>
/*注:h乘以1000后正好是原小數(shù)點(diǎn)后第三位做了新數(shù)的個(gè)位數(shù),然后
再進(jìn)行加5運(yùn)算時(shí)
o如原小數(shù)點(diǎn)后第三位為4及以下則加5后還是不能進(jìn)一位(即四舍),
如是5及以上則加
5后該位就要向前進(jìn)一位數(shù)(即五入)。進(jìn)行加5運(yùn)算后除10再賦給一
個(gè)整型變量此時(shí)就
只有原小數(shù)點(diǎn)第二位及以前各位保留在整型變量中,最后再對(duì)整型變量
除100,這樣又出
現(xiàn)了兩位小數(shù)。該題中,進(jìn)行四舍五入后一定要賦給一個(gè)整型變量才能
將不用部分徹底
變成0。*/
floatfun(floath)
{longt;
h=h*1000;
t=(h+5)/10;
return(float)t/100;
)
main()
(
floata;
clrscr();
printf("Entera:");scanf&a);
printf(//Theoriginaldatais:");
printf(//%f\n\n/,,a);
printf("Theresult:%6.2f\n”,fun(a));
題目6
編寫函數(shù)fun,函數(shù)的功能是:從字符串中刪除指定的字符。同一字母
的大、小寫按
不同字符處理。
若程序執(zhí)行時(shí),輸入字符串為:turbocandBorlandc++
從鍵盤上輸入字符:n,則輸出后變?yōu)椋簍urbocadborladc++
如果輸入的字符串不存在,則字符串照原樣輸出。
試題程序。
ftinclude<stdio.h>
#include<conio.h>
/*注:該題的算法是讓i控制一個(gè)一個(gè)字符往后走,在移動(dòng)過(guò)程中如果
s[i]不是要?jiǎng)h的字
符,則將其按順序放到新串中(新串亦是用S來(lái)做,只是用k來(lái)控制新
串的下標(biāo),由于要
刪除一些元素,因此新串的下標(biāo)總是比原下標(biāo)i要慢。因而可用此法即
同一字符串變量的
方法。*/
intfun(chars[],intc)
{inti,k=0;
for(i=0;s[i];i++)
if(s[i]!=c)s[k++]=s[i];
s[k]='\O';
main()
{staticcharstr[]=/,turbocandborlandc++”;
charch;
clrscr();
printf(,z:%s\n,z,str);
printf(z/;
scanf&ch);
fun(str,ch);
printf(z,str[]=%s\nz/,str);
)
題目7
請(qǐng)編寫一個(gè)unsignedfun(unsignedw),w是一個(gè)大于10的無(wú)符號(hào)整
數(shù),若w是n(n
>=2)位的整數(shù),函數(shù)求出w的后n-1位的數(shù)作為函數(shù)值返回。
例如:w值為5923,則函數(shù)返回923;w值為923則函數(shù)返回23。
試題程序。
#include<conio.h>
#include<stdio.h>
/*注:由于unsigned型整數(shù)在0-65535這間,只要它大于10000則對(duì)
10000求余即得出后
面4位,否則如果大于1000則對(duì)1000求余得出后3位數(shù),這樣一層一
層往小的判斷。由于
return的作用除了返回值以外,還有當(dāng)執(zhí)行到return時(shí)就跳出該程序,
所以可以連續(xù)的
用if()語(yǔ)句。*/
unsignedfun(unsignedw)
{if(w>=10000)returnw%10000;
if(w>=1000)returnw%1000;
if(w>=100)returnw%100;
returnw%10;
}
main()
{unsignedx;
printf(enteraunsignedintegernumber:
scanf("%u",&x);
if(x<10)printfC'dataerror!");
elseprintf("theresult:%u\n”,fun(x));
題目8
編寫函數(shù)intfun(intlim,intaa[MAX]),該函數(shù)的功能是求出小于
lim的所有素?cái)?shù)
并放在aa數(shù)組中,該函數(shù)返回所求出素?cái)?shù)的個(gè)數(shù)。
試題程序。
#include<stdio.h>
#include<conio.h>
#defineMAX100
/*注:循環(huán)for(i=2;i〈k;i++)用于判斷k是否為素?cái)?shù),原理是當(dāng)用2
到k-1這間的數(shù)去
對(duì)?k求余,如余數(shù)為0(即被整除)則表示k不是一個(gè)素?cái)?shù)。語(yǔ)句if(i>=k)
用于判斷在
上一個(gè)for()循環(huán)中i能否走到k,如果能則表示在2到k-1的數(shù)都不
能整除k,即k為素?cái)?shù)。
*/
intfun(intlim,intaa[MAX])
{inti,j=0,k;
for(k=2;k<lim;k++)
{for(i=2;i<k;i++)
if(!(k%i))break;
if(i>=k)aa[j++]=k;
returnj;
main()
{intlimit,i,sum;
intaa[MAX];
printf(z/\ninputaintegernumber:z/);
scanfC%d",&limit);
sum=fun(limit,aa);
for(i=0;i<sum;i++)
{if(i%10==0&&i!=0)
printf('\n");
printf("%5d”,aa[i]);
)
)
題目9
請(qǐng)編寫函數(shù)fun,函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函數(shù)
值返回。二維
數(shù)組中的值在主函數(shù)中賦予。
例如:二維數(shù)組中的值為
則函數(shù)值為61。
試題程序。
#include<conio.h>
#include<stdio.h>
#defineM4
#defineN5
/*注:該題的第一個(gè)for()循環(huán)是計(jì)算矩陣的最上一行和最下一行的總
和,第二個(gè)for()
是計(jì)算除兩頭元素以外的最左一列和最右一列的元素的和,最后sun就
是周邊元素的和。
*/
intfun(inta[M][N])
{intsum=0,i;
for(i=0;i<N;i++)
sum+=a[0][i]+a[M-l][i];
for(i=l;i<M-l;i++);
sum+=a[i][0]+a[i][N-l];
returnsum;
)
main()
{intaa[M][N]={{1,3,5,7,9},
{2,9,9,9,4),
{6,9,9,9,8),
{1,3,5,7,0));
inti,j,y;
clrscr();
printf(,zTheoriginaldatais:\n");
for(i=0;i<M;i++)
{for(j=0;j<N;j++)printf("%6d”,aa[i][j]);
printf('\n");
)
y=fun(aa);
printf("\nThesum:%d\n',y);
printf('\n");
)
題目10
請(qǐng)編寫函數(shù)fun,對(duì)長(zhǎng)度為7個(gè)字符的字符串,除首、尾字符外,將其
余5個(gè)字符按
降序排列。例如,原來(lái)的字符串為CEAedca,排序后輸出為CedcEAa。
試題程序。
#include<string.h>
ttinclude<conio.h>
#include<stdio.h>
/*該題采用的排序法是選擇法進(jìn)行降序排序,算法是用外for()循環(huán)從
字符串的前端往后
端走動(dòng),每走動(dòng)一個(gè)字符都用內(nèi)嵌的for。循環(huán)在該字符后找出最小的
字符與該字符進(jìn)
行換位。直到外for()循環(huán)走到最后一個(gè)字符。此外,此題還要注意把
首尾字符除開(kāi),即
在最外層for。循環(huán)中從1開(kāi)始,只到num-2即可。*/
intfun(char*s,intnum)
{inti,j,t;
for(i=l;i<num-2;i++)
for(j=i+l;j<num-l;j++)
if(s[i]<s[j])
{t=s[i];
s[i]=s[j];
main()
{chars[10];
clrscr();
printf(〃輸入7個(gè)字符的字符串:");
gets(s);
fun(s,7);
printf("\n%s",s);
}
題目11
請(qǐng)編一函數(shù)voidfun(inttt[M][N],intpp[N]),tt指向一個(gè)M行N
列的二維數(shù)組,
求出二維數(shù)組每列中最小元素,并依次放入pp所指一維數(shù)組中,二維
數(shù)組中的數(shù)已在主
函數(shù)中賦予。
試題程序。
#include“conio.h"
#include"stdio.h〃
#defineM3
#defineN4
/*注:該題用for(i=0;i〈N;i++)來(lái)控制一列一列地找,而內(nèi)嵌循環(huán)
for(j=0;j<M;
j++)用于控制同列內(nèi)元素的比較。多重循環(huán)的嵌套總是最里層循環(huán)變化
最快,即外層循
環(huán)改變一個(gè)值,內(nèi)層循環(huán)就要循環(huán)完一次,對(duì)于多重循環(huán)一定要好好去
體會(huì)和理解,在
多數(shù)題目中都要用到多重循環(huán)(一般為二重)。*/
voidfun(inttt[M][N],intpp[N])
{inti,j;
for(i=0;i<N;i++)
{pp=tt[0][i];
for(j=0;j<M;j++)
if(tt[j][i]<pp[i])pp[i]=tt[j][i];
main()
{intt[M][N]={{22,45,56,30},
{19,33,45,38},
{20,22,66,40}};
intp[N],i,j,k;
clrscr();
printf(//theoriginaldatais:\n");
for(i=0;i<M;i++)
{for(j=0;j<N;j++)
printf("%6d",t[i][j]);
printf("\n");
fun(t,p);
printf("\ntheresultis:\n");
for(k=0;k<N;k++)
printf(級(jí)4d”,p[k]);
printf("\n");
}
題目12
寫一個(gè)函數(shù),從傳入的num個(gè)字符串中找出最長(zhǎng)的一個(gè)字符串,并通過(guò)
形參指針max
傳回該串地址。(注意:用****作為結(jié)束輸入的標(biāo)志。)
試題程序。
ttinclude"stdio.h"
#include“string,h”
#include"conio.h〃
/*函數(shù)strlenO用于求出字符串的長(zhǎng)度,這個(gè)題中主要是*max=p;不能
換成max=&p
;如果用maz=&p;則只改變了max的指向,它不能傳回給實(shí)參。因此我
們要改變max指
向地址中的內(nèi)容,這才能使得實(shí)參ps有正確的值。*/
fun(char(*a)[81],intnum,char**max)
{char*p=a[0];inti;
for(i=l;i〈num;i++)
if(strlen(a[i])>strlen(p))
p=a[i];
*max=p;
}
main()
{charss[10][81],*ps;
intn,i=0;
clrscr();
printf("enterstring:\n,z);
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i],"****")==0)
{
i++;
gets(ss[i]);
puts(ss[i]);
)
n=i;
fun(ss,n,&ps);
printf("\nmax=%s\n”,ps);
題目13
請(qǐng)編一個(gè)函數(shù)fun,其中n所指存儲(chǔ)單元中存放了數(shù)組中元素的個(gè)數(shù)。
函數(shù)的功能是
:刪除所有值為y的元素。數(shù)組元素中的值和y的值由主函數(shù)通過(guò)健盤
讀入。
試題程序。
#include<conio.h>
#include<stdio.h>
#defineM20
/*注:該題的算法是,用for()循環(huán)控制元素逐一判斷數(shù)組元素是否等
于y,若不等則賦
給新數(shù)bb,由于刪除的關(guān)系j總是小于或等于i,故而可用bb作為新
數(shù)組,與第6題相似。
還要注意*n=j;如果沒(méi)有這個(gè)語(yǔ)句則不能傳回新數(shù)組的個(gè)數(shù),另外也不
能換成n=&j
;這點(diǎn)是用指針時(shí)常犯的錯(cuò)誤,切記!*/
voidfun(intbb[],int*n,inty)
{inti,j=0;
for(i=0;i〈*n;i++)
if(bb[i]!=y)bb[j++]=bb[i];
*n=j;
main()
{intaa[M],n,y,k;
printf("\npleaseentern:");
scanf(“刎",&n);
printf("\nenter%dpositivenumber:\nz,,n);
for(k=0;k<n;k++)scanf("%d”,&aa[k]);
printf("theoriginaldatais:\n");
for(k=0;k<n;k++)printf("%5d”,aa[k]);
printf(/z\nenteranumbertodeleted:",);
scanf(“刎",&y);
fun(aa,&n,y);
printf(?,thedataafterdeleted%d:\n”,y);
for(k=0;k<n;k++)printf("%4d”,aa[k]);
printf('\n");
}
題目14
編寫一個(gè)函數(shù),該函數(shù)可以統(tǒng)計(jì)一個(gè)長(zhǎng)度為2的字符串在另一個(gè)字符串
中出現(xiàn)的次數(shù)
o例如,假定輸入的字符串為:asdasasdfgasdaszx67asdmklo,
子字符串為:as
,則應(yīng)輸出6。
試題程序。
#include"stdio.h"
#include"string,h”
#include"conio.h"
/*注:由于小串中只有2個(gè)字符所以可用
str[i]-sbustr[O]&&str[i+l]—subs
tr[l]來(lái)判斷小串是否與長(zhǎng)串當(dāng)前位置(str[i])相同(即出現(xiàn)一次)。
因而只要讓長(zhǎng)串
當(dāng)前位置逐一向后移即可(用for()循環(huán)來(lái)完成)。*/
intfun(char*str,char*substr)
{inti,n=0,s=strlen(str);
for(i=0;i<s;i++)
if((str[i]:z:=substr[0])&&(str[i+1]—substr[1]))
n++;
returnn;
}
main()
(
charstr[81],substr[3];
intn;clrscr();
printf("enter1:");
gets(str);
printf("enter2:');
gets(substr);
puts(str);
puts(substr);
n=fun(str,substr);
printf("n=%d\n”,n);
}
題目15
請(qǐng)編寫一個(gè)函數(shù)intfun(intx),它的功能是:判斷整數(shù)x是否是同構(gòu)
數(shù)。若是同構(gòu)
數(shù),函數(shù)返回1;否則返回0。
所謂“同構(gòu)數(shù)”是指這樣的數(shù),它出現(xiàn)在它的平方數(shù)的右邊。
例如:輸入整數(shù)5,5的平方數(shù)是25,5是25中右側(cè)的數(shù),所以5是同
構(gòu)數(shù)。
x的值由主函數(shù)從健盤讀入,要求不大于100o
試題程序。
#include"conio.h"
ttinclude"stdio.h"
/*注:由“同構(gòu)數(shù)”的定義可得只要求出平方數(shù)或平方數(shù)的最后一位或
平方數(shù)的最后兩
位然后與x進(jìn)行判斷即可,分別求余后即得出平方數(shù)的右邊。*/
intfun(intx)
{intxx=x*x;
if(xx==x〃xx%10==x〃xx%100==x)return1;
elsereturn0;
}
main()
{intx,y;
clrscr();
printf(z/\npleaseenteraintegernumbers:");
scanf&x);
if(x>100){printf(/zdataeror!\n,/);exit(0);}
y=fun(x);
if(y)printf(z,%dyes\n',x);
elseprintf("%dno!\n",x);
}
題目16
請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:在字符串中所有數(shù)字字符前加一個(gè)$字
符。
例如,輸入:A1B23CD45,則輸出為:A$1B$2$3CD$4$5O
注意:部分源程序給出如下。
#include<stdio.h>
/*注:該題用while。循環(huán)來(lái)控制原字符串從頭走到尾,在走動(dòng)過(guò)程中
判斷是當(dāng)前字符是
否是數(shù)字,若是則在新串中先連一個(gè)'$'然后再連原字符,否則直接連
原字符。一定要
注意指針和下標(biāo)的變化。最后要把新串拷貝到s所指的地址中,注意不
能用s=a;若用了
,則實(shí)參數(shù)組還是原字符串。*/
voidfun(char*s)
{chara[100];
inti=0;
while(*s)
if(*s>='O'&&*s<='9'){a[i++]=’$';a[i++]=*s++;}
elsea[i++]=*s++;
a='\0';
strcpy(s,a);
}
main()
{chars[80];
printf("enterastring:");
scanf("%s”,s);
fun(s);
printf(z/theresult:%s\n',s);
題目17
請(qǐng)編一個(gè)函數(shù)fun(char*s),函數(shù)的功能是把字符串中所有的字符前移
一個(gè)位置,
串中的第一個(gè)字符移到最后。
例如:原有的字符串為:Mn.123xyZ,則調(diào)用該函數(shù)后,串中的內(nèi)容為:
n.123xyZMo
試題程序。
ttinclude"conio.h"
#include"stdio.h"
#defineN81
/*注:該題要先將字符串的頭元素存到某一變量(用c=*s)中,然后后
面的字符依向前
移(用for()循環(huán)),要記得在串的未尾加一個(gè)結(jié)束符。*/
fun(char*s)
{charc=*s;
for(;*(s+l);s++)
*s=*(s+l);
*s=c;
*(s+l)='\0';
main()
{chara[N];
clrscr();
printf("enterastring:");
gets(a);
printf("theoriginalstringis:");
puts(a);
fun(a);
printf(z,thestringaftermodified:");
puts(a);
)
題目18
請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:將所有大于1小于整數(shù)m的非素?cái)?shù)存
入XX所指數(shù)組
中,非素?cái)?shù)的個(gè)數(shù)通過(guò)k傳回。
例如,若輸入:17,則應(yīng)輸出:9和46891012141516。
試題程序。
#include<conio.h>
#include<stdio.h>
/*注:內(nèi)嵌的for()循環(huán)用于判斷是否是素?cái)?shù),在j〈i的情況下,只要
j對(duì)i求余,余
數(shù)為0則表示i不是素?cái)?shù),則將i存入xx數(shù)組中。break;語(yǔ)句只是讓
它提前結(jié)束循環(huán)。不用
亦可。*/
voidfun(intm,int*k,intxx[])
{inti,j;
*k=0;
for(i=2;i<m;i++)
for(j=2;j<i;j++)
if(i%j==0)
{xx[(*k)++]=i;break;}
}
main()
{intm,n,zz[100];
printf(z,\npleaseenteranintegernumberbetween10and100:“
);
scanf("%d",&n);
fun(n,&m,zz);
printf("\n\nthereare%dnon-primenumberslessthan%d:",m,
n);
for(n=0;n<m;n++)
printf(z/\n%4d”,zz[n]);
題目19
請(qǐng)編一個(gè)函數(shù)fun(char*s),函數(shù)的功能是把字符串中所有的字母改寫
成該字母的
下一個(gè)字母,最后一個(gè)字母z改寫成字母a。大寫字母仍為大寫字母,
小寫字母仍為小寫
字母,其他的字符不變。
例如:原有的字符串為:Mn.123zyZ,則調(diào)用該函數(shù)后,串中的內(nèi)容為:
No.123yzAo
試題程序。
#include"conio.h〃
#includestring,h”
#include"stdio.h"
#include"ctype.h"
#defineN81
/*該題的思路較為明顯,用for()循環(huán)一個(gè)字符一個(gè)字符地走動(dòng),移動(dòng)
過(guò)程中判斷是否
在a到y(tǒng)之間,若是則加1(即下移一個(gè)字母),若是z則換成對(duì)應(yīng)的
a*/
fun(char*s)
{inti,n=strlen(s);
for(i=0;i<n;i++)
{if((s[i]>='A,&&s[i]<'Z')〃(s[i]>='a&&s[i]&
lt「z,))
s[i]=s[i]+l;
elseif(s[i]=='z,)s[i]=,a);
elseif(s[i]==,Z,)s[i]=,A';
}
}
main()
{chara[N];
clrscr();
printf("enterastring:");gets(a);
printf(/ztheoriginalstringis:z,);puts(a);
fun(a);
printf(z,thestringaftermodified:");
puts(a);
)
題目20
請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:將s所指字符串中、下標(biāo)為奇數(shù)位置
上的大寫字母
轉(zhuǎn)換為字母序列中的下一個(gè)小寫字母;若該位置上是小寫字母,則不轉(zhuǎn)
換;若該位置上
是大寫字母Z,則僅轉(zhuǎn)換成小寫字母Z。
例如,輸入:ABCdxZZZ,則輸出為:AcCdXzZzo
試題程序。
#include"stdio.h"
#defineN80
/*該題的算法與上一題相似,注意同一個(gè)字母小寫要比大寫在ASCH
值上大32。*/
voidfun(char*s)
(
inti;
for(i=l;i<N;i=i+2)
if(s[i]>='A'&&s[i]〈'Z')
s[i]+=32+l;
elseif(s[i]==,Z')s[i]+=32;
)
main()
(
chars[N];
printf('\nenterastring:");scanfs);
fun(s);
printf(z/\ntheresult:%s\nz,,s);
題目21
程序定義了N*N的二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫函數(shù)fun,函
數(shù)的功能是:
給數(shù)組周邊元素置0值。
例如:a數(shù)組中的值為
則返回主程序后a數(shù)組中的值應(yīng)為
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#defineN5
/*由于是賦值0,因而只要能表示出周邊元素即好辦,它與求和不同在
于求和不能重復(fù)
對(duì)某個(gè)元素進(jìn)行運(yùn)算,而賦值則可重復(fù)賦值。所以這里只用了一個(gè)for()
循環(huán)來(lái)找出所有
的周邊元素。*/
fun(intw[][N])
{inti;
for(i=0;i<N;i++)
{w[i][0]=0;
w[i][N-l]=0;
w[0][i]=0;
w[N-l][i]=0;
}
)
main()
{inta[N][N],i,j;
clrscr();
printf(''*****Thearray*****\n〃);
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{a[i][j]=rand()%10;
printfa[i][j]);
printf("\n");
fun(a);
printf("*****Theresult*****\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("\n〃);
題目22
請(qǐng)編寫函數(shù)fun,它的功能是:求出ss所指字符串中、指定字符的個(gè)數(shù),
并返回此
值。
例如:若輸入字符串:123412132,輸入字符為:1,則輸出:3o
試題程序。
#include<conio.h>
#include<stdio.h>
#defineM81
/*注:本題用while。循環(huán)來(lái)控制字符的移動(dòng),每移動(dòng)一個(gè)字符都要進(jìn)
行判斷(if(*ss
==c))是否為指定的字母,若是則個(gè)數(shù)加lo這里要注意如何讓ss指針
向下走動(dòng)(SS++)
。*/
intfun(char*ss,charc)
{intnum=O;
while(*ss!='\0')
{if(*ss==c)num++;
ss++;
}
return(num);
}
main()
{chara[M],ch;
clrscr();
printf("\nPleaseenterastrint:,z);gets(a);
printf(/z\nPleaseenterachar:z,);ch=getchar();
printf('\nThenumberofthecharis:%d\n/z,fun(a,ch));
}
題目23
程序定義了N*N的二維數(shù)組,并在主函數(shù)中賦值。請(qǐng)編寫函數(shù)fun,函
數(shù)的功能是:
求出數(shù)組周邊元素的平均值并作為函數(shù)值返回給主函數(shù)中的So
例如:a數(shù)組中的值為
則返回主程序后S的值應(yīng)為:3.375o
試題程序。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#defineN5
/*注意不能重復(fù)計(jì)算,它與題21不同,第一個(gè)for()循環(huán)求出第一列
與最后一列的和,
第二個(gè)for()循環(huán)求出第一行與最后一行(已除去兩頭元素),要注意
第二個(gè)for()中起
始為1,最后為N-2O*/
doublefun(intw[][N])
{inti,t=0;
doubles=0;
for(i=0;i<N;i++)
{s+=w[i][0]+w[i][N-l];t+=2;}
for(i=l;i<N-l;i++)
{s+=w[0][i]+w[N-l][i];t+=2;}
s=s/t;
returns;
main()
{int
a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1);
inti,j;
doubles;
clrscr();
printf("*****Thearray*****\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("\n");
}
s=fun(a);
printf(〃*****Theresult*****\n〃);
printf(Z/Thesumiss);
}
題目24
編寫一個(gè)函數(shù)fun,它的功能是:實(shí)現(xiàn)兩個(gè)字符串的連接(不使用庫(kù)函
數(shù)strcat)
O
例如,分別輸入下面兩個(gè)字符串:
FirstSrting—
SecondString
程序輸出:
FirstString—SecondString
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<stdio.h>
#include<conio.h>
/*注:第一個(gè)for()循環(huán)用于讓i成為第一個(gè)字符串的結(jié)束符的下標(biāo),
要注意在這個(gè)for
()后要有一個(gè)分號(hào)否則出錯(cuò)。第二個(gè)for()的作用是將第二個(gè)字符串一
個(gè)一個(gè)字符依次放
到第一個(gè)字符串的未尾。此外,還要注意最后一定要有來(lái)
給字符串加上
結(jié)束符。*/
voidfun(charpl[],charp2[])
{inti,j;
for(i=0;pl[i];i++);
for(j=0;p2[j];j++)
pl[i++]=p2[j];
pl[i]='\O';
main()
{charsi[80],s2[80];
clrscr();
printf("Entersiands2:\n");
scanf("%s%s”,si,s2);
printf("sl=%s\n”,si);
printf("s2=%s\n”,s2);
printf("Invokefun(si,s2):\n");
fun(sl,s2);
printf("Afterinvoking:\n",);
printf(級(jí)s\n”,si);
}
題目25
程序定義了N*N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)
fun(inta[][N]
),函數(shù)的功能是:使數(shù)組第一列元素中的值與最后一列元素中的值對(duì)
調(diào)、第二列元素的
值與倒數(shù)第二列中的值對(duì)調(diào)、……、其他依次類推。
例如:a數(shù)組中的值為
則返回主程序后a數(shù)組中的值應(yīng)為
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
ttinclude<stdlib.h>
#include<conio.h>
ttinclude<stdio.h>
#defineN5
/*本題的第一個(gè)for()循環(huán)用于控制行,而內(nèi)嵌的for()用于在同一行
中將列與列對(duì)調(diào),
當(dāng)i為0時(shí)a[m][i]為第m行的第一列元素,a[m][NT-i]為第m行的最
后一列的元素,正好
符合調(diào)換的要求。依次類推。*/
intfun(inta[][N])
{inti,m,t;
for(m=0;m<N;m++)
for(i=0;i<N/2;i++)
{t=a[m][i];
a[m][i]=a[m][N-l-i];
a[m][N-l-i]=t;
main()
{inta[N][N],i,j;
clrscr();
printf(''*****Thearray*****\n〃);
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{a[i][j]=rand()%30;printfa[i][j]);}
printf("\n");
}
fun(a);
printf("*****Theresult*****\n〃);
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf("\n");
題目26
請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:實(shí)現(xiàn)B=A+A',即把矩陣A加上A的
轉(zhuǎn)置,存放在矩
陣B中。計(jì)算結(jié)果在main函數(shù)中輸出。
例如:輸入下面的矩陣:其轉(zhuǎn)置矩陣為:
程序輸出:
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<conio.h>
#include<stdio.h>
/*26題:本題沒(méi)有先求出A的轉(zhuǎn)置,而是直接利用轉(zhuǎn)置的性質(zhì)(即第
一行作為轉(zhuǎn)置后的
第一列,第二行作為轉(zhuǎn)置后的第二列,的行列互換的性質(zhì))。而且最后
要求出兩矩陣的
相加后得出的新矩陣,由轉(zhuǎn)置性質(zhì)可知原a[j][i]轉(zhuǎn)置后位置為
a[i][j],在表達(dá)式:b[
i][j]+a[j][i]第一個(gè)a為A的元素,第二個(gè)a為A'的元素。
*/
voidfun(inta[3][3],intb[3][3])
{inti,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
b[i][j]=a[i][j]+a[j][i];
}
main()
{inta[3][3]={{1,2,3},{4,5,6},{7,8,9}},t[3][3];
inti,j;
clrscr();
fun(a,t);
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
printf("%7d",t[i][j]);
printf('\n");
題目27
序定義了N*N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)fun(int
a[][ND,
函數(shù)的功能是:使數(shù)組第一行元素中的值與最后一行元素中的值對(duì)調(diào)、
第二行元素的值
與倒數(shù)第二行中的值對(duì)調(diào)、……、其他依次類推。
例如:a數(shù)組中的值為
則返回主程序后a數(shù)組中的值應(yīng)為
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<stdlib.h>
ttinclude<conio.h>
#include<stdio.h>
#defineN5
/*27題:該題與25題相似,外層for()循環(huán)用于控制一列一列地移動(dòng),
內(nèi)嵌的forr()循
環(huán)用于控制在同一列內(nèi)對(duì)應(yīng)行元素的對(duì)調(diào)。a[i][m]為第m列第i行元
素,而a[NT-i][m]
為第m列倒數(shù)第i行的元素,正好需要對(duì)調(diào)。*/
fun(inta[][N])
{inti,m,t;
for(m=0;m<N;m++)
for(i=0;i<N/2;i++)
{t=a[i][m];
a[i][m]=a[N-l-i][m];
a[N-l-i][m]=t;
}
}
main()
{inta[N][N],i,j;
clrscr();
printf(''*****Thearray*****\n〃);
for(i=O;i<N;i++)
{for(j=0;j<N;j++)
{a[i][j]=rand()%30;printf("%4d”,a[i][j]);}
printf('\n");
}
fun(a);
printf("*****Theresult*****\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printfa[i][j]);
printf('\n");
題目28
m個(gè)人的成績(jī)存放在score數(shù)組中,請(qǐng)編寫函數(shù)fun,它的功能是:將
低于平均分的
人數(shù)作為函數(shù)值返回。
例如,當(dāng)score數(shù)組中的數(shù)據(jù)為:10、20、30、40、50、60、70、80、
90^時(shí),函數(shù)返
回的人數(shù)應(yīng)該是4,below中的數(shù)據(jù)應(yīng)為:10、20、30、40。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<string.h>
ttinclude<conio.h>
ttinclude<stdio.h>
/*28題:第一個(gè)for()循環(huán)用來(lái)計(jì)算score數(shù)組中分?jǐn)?shù)的總和,然后
用aver/=m求出平均
值,第二個(gè)循環(huán)用來(lái)找出小于平均分的元素,并放到數(shù)組below中,這
里要注意j的遞增
方式。*/
intfun(intscore[],intm,intbelow[])
{inti,j=0,aver=0;
for(i=0;i<m;i++)
aver+=score[i];
aver/=m;
for(i=0;i<m;i++)
if(score[i]<aver)
below[j++]=score[i];
returnj;
}
main()
{inti,n,below[9];
intscore[9]={10,20,30,40,50,60,70,80,90};
clrscr();
n=fun(score,9,below);
printf(/z\nBelowtheaveragescoreare;
for(i=0;i<n;i++)printf("%4d”,below[i]);
}
題目29
程序定義了N*N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)
fun(inta[][N]
),函數(shù)的功能是:使數(shù)組左下半三角元素中的值全部置成0o
例如:a數(shù)組中的值為
,則返回主程序后a數(shù)組中的值應(yīng)為
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#defineN5
/*29題:該題的關(guān)鍵是如何表示出左下半角的元素,當(dāng)從上往下到第
i行時(shí)只有左邊的
i個(gè)元素要置為0(每行總是如此)。用外層for()來(lái)控制行而內(nèi)嵌的
for()來(lái)控制每行的
左邊元素,故而在內(nèi)嵌for()中j最大只能循環(huán)到i(即表示出第i行
左邊的i個(gè)元素)。*
/
intfun(inta[][N])
{inti,j;
for(i=0;i<N;i++)
for(j=0;j<=i;j++)
a[i][j]=0;
main()
{inta[N][N],i,j;
clrscr();
printf('***Thearray****\n");
for(i=O;i<N;i++)
{for(j=0;j<N;j++)
{a[i][j]=rand()%10;printf(,,%4d,/,a[i][j]);}
printf(〃\n〃);
}
fun(a);
printf(z,Theresult'n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%4d",a[i][j]);
printf(〃\n〃);
}
}
題目30
請(qǐng)編寫函數(shù)fun,經(jīng)的功能是:求出1到1000之內(nèi)能被7或11整除、
但不能同時(shí)補(bǔ)7和
11整除的所有整數(shù)并將它們放在a所指的數(shù)組中,通過(guò)n返回這些數(shù)的
個(gè)數(shù)。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<conio.h>
#include<stdio.h>
/*30題:該題關(guān)鍵就是如何表示能被7或11整除,但不能同時(shí)被7
和11整除。用(i%7==
0)〃(設(shè)11==0)來(lái)表示能被7或11整除,用!((i%7==0)&&(i%ll==0))
來(lái)表示不能
同時(shí)被7和11整除。
voidfun(int*a,int*n)
{inti,m=0;
for(i=l;i<1000;i++)
if(((i%7==0)//(i%ll==0))&&!((i%7==0)&&(i%ll==0)))
{a[m]=i;m+=l;}
*n=m;
}
main()
{intaa[1000],n,k;
clrscr();
fun(aa,&n);
for(k=O;k<n;k++)
if((k+l)%10==0)printf('\n");
elseprintf('%d,”,aa[k]);
}
題目31
程序定義了N*N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)
fun(inta[][N])
,函數(shù)的功能是:使數(shù)組右上半三角元素中的值全部置成0。
例如:a數(shù)組中的值為
,則返回主程序后a數(shù)組中的值應(yīng)為
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<stdio.h>
#include<conio.h>
ttinclude<stdlib.h>
#defineN5
/*31題:該題的關(guān)鍵亦是在如何表示右上半角,當(dāng)從上往下到第i行
時(shí)要從第i列(所
以內(nèi)嵌for()的j從i開(kāi)始循環(huán))開(kāi)始替換直到最后一列,本題用外層
for()來(lái)控制行,而
用內(nèi)嵌的for()來(lái)控制在每一行內(nèi)右邊元素置0。
intfun(inta[][N])
{inti,j;
for(i=0;i<N;i++)
for(j=i;j<N;j++)
a[i][j]=0;
}
main()
{inta[N][N],i,j;
clrscr();
printf(''*****Thearray*****\n〃);
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{a[i][j]=rand()%20;printf("%4d”,a[i][j]);}
printf('\n");
}
fun(a);
printf("THERESULT'n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)printf("%4d",a[i][j]);
printf("\n");
題目32
編寫函數(shù)voidfun(intx,intpp[],int*n),它的功能是:求出能整
除x且不是偶
數(shù)的各整數(shù),并放在PP所指的數(shù)組中,這些除數(shù)的個(gè)數(shù)通過(guò)形參n返
回。
例如,若x中的值為:30,則有4個(gè)數(shù)符合要求,它們是
1,3,5,15o
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
ttinclude<conio.h>
ttinclude<stdio.h>
/*32題:由于要求的數(shù)不能是偶數(shù)故編程時(shí)從1開(kāi)始循環(huán)而步長(zhǎng)為2
這樣正好保正i永遠(yuǎn)
的奇數(shù)。這里也要注意存放結(jié)果的數(shù)組PP的下標(biāo)變化方式。*/
voidfun(intx,intpp[],int*n)
{inti,j=0;
for(i=l;i<=x;i=i+2)
if(x%i==0)
pp[j++]=i;
*n=j;
}
main()
{intx,aa[1000],n,i;
printf(z,\npleaseenteranintegernumber:\n",);scanf("%d
〃,&x);
fun(x,aa,&n);
for(i=0;i<n;i++)
printf(z/%d”,aa[i]);
printf('\n");
}
題目33
序定義了N*N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)fun(int
a[][N],i
ntn),函數(shù)的功能是:使數(shù)組右上半三角元素中的值乘以m。例如:若
m的值為2,a數(shù)組
中的值為
,則返回主程序后a數(shù)組中的值應(yīng)為
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#defineN5
/*33題:該題的關(guān)鍵也是在如何表示右上半角(可以與31題相同),
本題采用的是在一
行內(nèi)從最后一列的元素開(kāi)始往前乘,只有j>=i時(shí)才改變(原理與31題
相同)。*/
intfun(inta[][N],intm)
{inti,j;
for(i=0;i<N;i++)
for(j=N-l;j>=i;j-)
a[i][j]*=m;
main()
{inta[N][N],m,i,j;
printf("****thearray****\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{a[i][j]=rand()%20;printf("%4d",a[i][j]);}
printf("\n");
}
dom=rand()%10;while(m>=3);
printf("m=%4d\n”,m);
fun(a,m);
printfCtheresult\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)printf("%4d”,a[i][j]);
printf('\n");
}
)
題目34
編寫一個(gè)函數(shù)voidfun(char*tt,intpp[]),統(tǒng)計(jì)在tt字符串中‘a(chǎn)'
到‘z,26
個(gè)字母各自出現(xiàn)的次數(shù),并依次放在pp所指數(shù)組中。
例如,當(dāng)輸入字符串:abcdefgabcdeabc后,程序的輸出結(jié)果應(yīng)該是:
33322110000000000000000000
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<conio.h>
#include<stdio.h>
/*34題:本題采用的是字母的ASCII碼值與數(shù)組pp下標(biāo)的對(duì)應(yīng)轉(zhuǎn)換關(guān)
系分別求出對(duì)應(yīng)字
母的個(gè)數(shù)。第一個(gè)for()是給pp賦初值0,第二個(gè)for()用于控制在字
符串內(nèi)從頭到尾移動(dòng)
o由于字母'a'的ASCII碼值為97而它的個(gè)數(shù)要放在pp[0]中,而'a-97
的值正好為0
,其它的依此類推。*/
voidfun(char*tt,intpp[])
{inti;
for(i=0;i<26;i++)
Pp[i]=0;
for(;*tt;tt++)
if(*tt<=,z&&*tt>=,a)
pp[*tt-97]++;
main()
{charaa[1000];
intbb[26],k;
clrscr();
printf("\nPleaseenteracharstring:");scanfaa)
fun(aa,bb);
for(k=0;k<26;k++)printf('%d”,bb[k]);
printf('\n");
)
題目35
序定義了N*N的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)fun(int
a[][N],in
tn),函數(shù)的功能是:使數(shù)組左下半三角元素中的值乘以n。例如:若
n的值為2,a數(shù)組
中的值為
,則返回主程序后a數(shù)組中的值應(yīng)為
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#defineN5
/*35題:本題與29題相似,只要能表示出左下半角的元素即可。*/
intfun(inta[][N],intn)
{inti,j;
for(i=0;i<N;i++)
for(j=0;j<=i;j++)
a[i][j]*=n;
}
main()
{inta[N][N],n,i,j;
printf("****thearray****\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{a[i][j]=rand()%10;printf("%4d",a[i][j]);}
printf('\n");
don=rand()%10;while(n>=3);
printf("n=%4d\n”,n);
fun(a,n);
printf("****theresult****\n");
for(i=0;i<N;i++)
{for(j=0;j<N;j++)printf("%4d",a[i][j]);
printf('\n");
題目36
數(shù)fun的功能是:將兩個(gè)兩位數(shù)的整數(shù)a、b合并形成一個(gè)整數(shù)放在c
中。合并的方式
是:將a的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上,b數(shù)的十位和
個(gè)位數(shù)依次放在c數(shù)
的個(gè)位和百位上。
例如:當(dāng)a=45,b=12o調(diào)用該函數(shù)后,c=4251
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何去何內(nèi)容,僅在函數(shù)fun的
花括號(hào)中填入你編寫
的若干語(yǔ)句。
試題程序。
#include<conio.h>
#include<stdio.h>
/*36題:本題的關(guān)鍵在
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 三級(jí)人力資源題目及答案
- 趣味性筆試題目及答案
- 扶貧政策實(shí)施路徑研究
- 輻射安全和防護(hù)保衛(wèi)制度
- 談企業(yè)的首席評(píng)選制度
- 論公司法中的嚴(yán)格責(zé)任制度
- 行政規(guī)范性文件附帶審查制度
- 2025年河北保定輔警招錄筆試及答案
- 2025年事業(yè)編老師筆試題庫(kù)及答案
- 數(shù)學(xué)必修四知識(shí)點(diǎn)總結(jié)
- 課例研究報(bào)告
- 問(wèn)卷設(shè)計(jì)-問(wèn)卷分析(社會(huì)調(diào)查課件)
- 啤酒營(yíng)銷促銷實(shí)戰(zhàn)技巧之經(jīng)銷商管理技巧知識(shí)培訓(xùn)
- 建筑工程各部門職能及各崗位職責(zé)201702
- 機(jī)柜端口對(duì)應(yīng)表
- 刮痧法中醫(yī)操作考核評(píng)分標(biāo)準(zhǔn)
- GB/T 3934-2003普通螺紋量規(guī)技術(shù)條件
- 中考作文指導(dǎo)(北京市) 課件(92張PPT)
- 車輛贈(zèng)與協(xié)議模板
- 補(bǔ)充醫(yī)療保險(xiǎn)費(fèi)用報(bào)銷審批表(申請(qǐng)人簽字)
- pms3.0系統(tǒng)全國(guó)視頻培訓(xùn)材料
評(píng)論
0/150
提交評(píng)論