admin 管理员组

文章数量: 1086019


2024年3月11日发(作者:oracle10g安装教程完整版)

1.**打印HelloWorld**

练习:编写一个C程序,打印"Hello,World!"到屏幕上。

#include

intmain(){

printf("Hello,World!n");

return0;

}

2.**计算两个整数的和**

练习:编写一个程序,接受两个整数,然后计算它们的和并打印结果。

#include

intmain(){

inta=5,b=7;

intsum=a+b;

printf("Sum:%dn",sum);

return0;

}

3.**判断奇数或偶数**

练习:编写一个程序,接受一个整数,然后判断它是否为奇数或偶数。

#include

intmain(){

intnum=10;

if(num%2==0){

printf("%diseven.n",num);

}else{

printf("%disodd.n",num);

}

return0;

}

4.**计算阶乘**

练习:编写一个程序,计算给定整数的阶乘。

#include

intmain(){

intn=5;

intfactorial=1;

for(inti=1;i<=n;i++){

factorial*=i;

}

printf("Factorialof%dis%dn",n,factorial);

return0;

}

5.**反转字符串**

练习:编写一个程序,接受一个字符串,然后反转它并打印出来。

#include

#include

intmain(){

charstr[]="Hello,World!";

intlen=strlen(str);

for(inti=len-1;i>=0;i--){

printf("%c",str[i]);

}

printf("n");

return0;

}

6.**检查素数**

练习:编写一个程序,判断一个整数是否为素数。

#include

#include

intmain(){

intnum=13;

boolisPrime=true;

for(inti=2;i<=num/2;i++){

if(num%i==0){

isPrime=false;

break;

}

}

if(isPrime){

printf("%disaprimenumber.n",num);

}else{

printf("%disnotaprimenumber.n",num);

}

return0;

}

7.**计算平均值**

练习:编写一个程序,接受一组数字,计算它们的平均值。

#include

intmain(){

intn=5;

intnumbers[]={10,20,30,40,50};

intsum=0;

for(inti=0;i

sum+=numbers[i];

}

doubleaverage=(double)sum/n;

printf("Average:%.2lfn",average);

return0;

}

8.**计算幂**

练习:编写一个程序,计算一个数的幂。

#include

#include

intmain(){

doublebase=2.0;

intexponent=3;

doubleresult=pow(base,exponent);

printf("%.2lf^%d=%.2lfn",base,exponent,result);

return0;

}

9.**交换两个数的值**

练习:编写一个程序,交换两个整数变量的值。

#include

intmain(){

inta=5,b=10;

printf("Beforeswap:a=%d,b=%dn",a,b);

inttemp=a;

a=b;

b=temp;

printf("Afterswap:a=%d,b=%dn",a,b);

return0;

}

10.**找出两个整数的最大公约数**

练习:编写一个程序,找出两个整数的最大公约数。

#include

intgcd(inta,intb){

if(b==0){

returna;

}

returngcd(b,a%b);

}

intmain(){

intnum1=48,num2=18;

intresult=gcd(num1,num2);

printf("GCDof%dand%dis%dn",num1,num2,result);

return0;

}

11.**计算斐波那契数列**

练习:编写一个程序,计算并打印斐波那契数列的前N个数字。

#include

intmain(){

intn=10;

intfirst=0,second=1,next;

for(inti=0;i

if(i<=1){

next=i;

}else{

next=first+second;

first=second;

second=next;

}

printf("%d",next);

}

printf("n");

return0;

}

12.**检查字符串是否是回文**

练习:编写一个程序,检查一个字符串是否是回文。

#include

#include

#include

boolisPalindrome(charstr[]){

intlen=strlen(str);

for(inti=0;i

if(str[i]!=str[len-i-1]){

returnfalse;

}

}

returntrue;

}

intmain(){

charstr[]="racecar";

if(isPalindrome(str)){

printf("%sisapalindrome.n",str);

}else{

printf("%sisnotapalindrome.n",str);

}

return0;

}

13.**冒泡排序**

练习:编写一个程序,实现冒泡排序算法来排序一个整数数组。

#include

voidbubbleSort(intarr[],intn){

for(inti=0;i

for(intj=0;j

if(arr[j]>arr[j+1]){

inttemp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

}

intmain(){

intarr[]={64,34,25,12,22,11,90};

intn=sizeof(arr)/sizeof(arr[0]);

bubbleSort(arr,n);

printf("Sortedarray:");

for(inti=0;i

printf("%d",arr[i]);

}

printf("n");

return0;

}

14.**计算平方根**

练习:编写一个程序,计算一个数的平方根。

#include

#include

intmain(){

doublenum=25.0;

doublesquareRoot=sqrt(num);

printf("Squarerootof%.2lfis%.2lfn",num,squareRoot);

return0;

}

15.**计算阵列的和**

练习:编写一个程序,计算一个整数数组中所有元素的和。

#include

intmain(){

intarr[]={1,2,3,4,5};

intn=sizeof(arr)/sizeof(arr[0]);

intsum=0;

for(inti=0;i

sum+=arr[i];

}

printf("Sumofarrayelements:%dn",sum);

return0;

}

16.**查找数组中的元素**

练习:编写一个程序,查找一个整数数组中是否存在特定元素。

#include

#include

boolsearch(intarr[],intn,inttarget){

for(inti=0;i

if(arr[i]==target){

returntrue;

}

}

returnfalse;

}

intmain(){

intarr[]={1,2,3,4,5};

intn=sizeof(arr)/sizeof(arr[0]);

inttarget=3;

if(search(arr,n,target)){

printf("%dexistsinthearray.n",target);

}else{

printf("%ddoesnotexistinthearray.n",target);

}

return0;

}

17.**计算字符串长度**

练习:编写一个程序,计算一个字符串的长度。

#include

#include

intmain(){

charstr[]="Hello,World!";

intlength=strlen(str);

printf("Lengthofthestring:%dn",length);

return0;

}

18.**查找数组中的最大和最小值的索引**

练习:编写一个程序,查找一个整数数组中的最大和最小值的索引。

#include

intfindMaxIndex(intarr[],intn){

intmaxIndex=0;

for(inti=1;i

if(arr[i]>arr[maxIndex]){

maxIndex=i;

}

}

returnmaxIndex;

}

intfindMinIndex(intarr[],intn){

intminIndex=0;

for(inti=1;i

if(arr[i]

minIndex=i;

}

}

returnminIndex;

}

intmain(){

intarr[]={34,12,76,2,45,90};

intn=sizeof(arr)/sizeof(arr[0]);

intmaxIndex=findMaxIndex(arr,n);

intminIndex=findMinIndex(arr,n);

printf("Maxvalueisatindex%d,Minvalueisatindex%dn",maxIndex,minIndex);

return0;

}

19.**矩阵乘法**

练习:编写一个程序,实现两个矩阵的乘法。

#include

voidmatrixMultiply(intA[][3],intB[][3],intC[][3]){

for(inti=0;i<3;i++){

for(intj=0;j<3;j++){

C[i][j]=0;

for(intk=0;k<3;k++){

C[i][j]+=A[i][k]*B[k][j];

}

}

}

}

intmain(){

intA[][3]={{1,2,3},{4,5,6},{7,8,9}};

intB[][3]={{9,8,7},{6,5,4},{3,2,1}};

intC[3][3];

matrixMultiply(A,B,C);

printf("ResultantmatrixC:n");

for(inti=0;i<3;i++){

for(intj=0;j<3;j++){

printf("%d",C[i][j]);

}

printf("n");

}

return0;

}

20.**查找字符串中的子串**

练习:编写一个程序,查找一个字符串中是否存在特定子串。

#include

#include

#include

boolfindSubstring(charstr[],charsubstring[]){

if(strstr(str,substring)!=NULL){

returntrue;

}

returnfalse;

}

intmain(){

charstr[]="Hello,World!";

charsubstring[]="World";

if(findSubstring(str,substring)){

printf("'%s'isasubstringof'%s'n",substring,str);

}else{

printf("'%s'isnotasubstringof'%s'n",substring,str);

}

return0;

}

21.**计算一个数的阶乘使用递归**

练习:编写一个程序,使用递归计算一个数的阶乘。

#include

intfactorial(intn){

if(n==0){

return1;

}

returnn*factorial(n-1);

}

intmain(){

intn=5;

intresult=factorial(n);

printf("Factorialof%dis%dn",n,result);

return0;

}

22.**查找数组中的重复元素**

练习:编写一个程序,查找一个整数数组中的重复元素。

#include

#include

boolhasDuplicates(intarr[],intn){

for(inti=0;i

for(intj=i+1;j

if(arr[i]==arr[j]){

returntrue;

}

}

}

returnfalse;

}

intmain(){

intarr[]={2,4,6,4,8,10};

intn=sizeof(arr)/sizeof(arr[0]);

if(hasDuplicates(arr,n)){

printf("Arrayhasduplicateelements.n");

}else{

printf("Arrayhasnoduplicateelements.n");

}

return0;

}

23.**查找质数**

练习:编写一个程序,列出指定范围内的所有质数。

#include

#include

boolisPrime(intnum){

if(num<=1)returnfalse;

if(num<=3)returntrue;

if(num%2==0||num%3==0)returnfalse;

for(inti=5;i*i<=num;i+=6){

if(num%i==0||num%(i+2)==0)returnfalse;

}

returntrue;

}

intmain(){

intlower=10,upper=50;

printf("Primenumbersbetween%dand%dare:",lower,upper);

for(inti=lower;i<=upper;i++){

if(isPrime(i)){

printf("%d,",i);

}

}

printf("n");

return0;

}

24.**二进制转十进制**

练习:编写一个程序,将二进制数转换为十进制数。

#include

intbinaryToDecimal(intbinary){

intdecimal=0,base=1;

while(binary>0){

intlastDigit=binary%10;

decimal+=lastDigit*base;

binary/=10;

base*=2;

}

returndecimal;

}

intmain(){

intbinaryNum=1101;

intdecimalNum=binaryToDecimal(binaryNum);

printf("Binary:%d,Decimal:%dn",binaryNum,decimalNum);

return0;

}

25.**计算字符串中的单词数**

练习:编写一个程序,计算一个字符串中的单词数。

#include

#include

boolisWhitespace(charc){

return(c==''||c=='t'||c=='n');

}

intcountWords(charstr[]){

intwordCount=0;

boolinWord=false;

for(inti=0;str[i]!='0';i++){

if(!isWhitespace(str[i])){

if(!inWord){

inWord=true;

wordCount++;

}

}else{

inWord=false;

}

}

returnwordCount;

}

intmain(){

chartext[]="Thisisasamplesentencewithsomewords.";

intwords=countWords(text);

printf("Numberofwords:%dn",words);

return0;

}

26.**计算两个时间的差值**

练习:编写一个程序,计算两个时间的差值,例如小时和分钟之间的差值。

#include

structTime{

inthours;

intminutes;

};

structTimecalculateTimeDifference(structTimet1,structTimet2){

structTimedifference;

inttotalMinutes1=*60+s;

inttotalMinutes2=*60+s;

intdiff=totalMinutes2-totalMinutes1;

=diff/60;

s=diff%60;

returndifference;

}

intmain(){

structTimetime1={8,30};

structTimetime2={10,45};

structTimetimeDiff=calculateTimeDifference(time1,time2);

printf("Timedifference:%dhours%dminutesn",,s);

return0;

}

27.**字符串反转不使用库函数**

练习:编写一个程序,反转一个字符串,但不使用标准库函数。

#include

voidreverseString(charstr[]){

intstart=0;

intend=strlen(str)-1;

while(start

chartemp=str[start];

str[start]=str[end];

str[end]=temp;

start++;

end--;

}

}

intmain(){

charstr[]="Hello,World!";

reverseString(str);

printf("Reversedstring:%sn",str);

return0;

}

28.**计算素数使用筛选法**

练习:编写一个程序,使用埃拉托斯特尼筛法找出指定范围内的所有素数。

#include

#include

voidsieveOfEratosthenes(intn){

boolisPrime[n+1];

memset(isPrime,true,sizeof(isPrime));

for(intp=2;p*p<=n;p++){

if(isPrime[p]){

for(inti=p*p;i<=n;i+=p){

isPrime[i]=false;

}

}

}

printf("Primenumbersupto%d:",n);

for(intp=2;p<=n;p++){

if(isPrime[p]){

printf("%d,",p);

}

}

printf("n");

}

intmain(){

intn=50;

sieveOfEratosthenes(n);

return0;

}

29.**计算阵列的中位数**

练习:编写一个程序,计算一个整数数组的中位数。

#include

#include

voidbubbleSort(intarr[],intn){

for(inti=0;i

for(intj=0;j

if(arr[j]>arr[j+1]){

inttemp=arr[j];

arr[j]=arr[j+1];

arr[j+1]=temp;

}

}

}

}

floatcalculateMedian(intarr[],intn){

bubbleSort(arr,n);

if(n%2==0){

return(float)(arr[n/2-1]+arr[n/2])/2;

}else{

return(float)arr[n/2];

}

}

intmain(){

intarr[]={4,7,1,9,2,5};

intn=sizeof(arr)/sizeof(arr[0]);

floatmedian=calculateMedian(arr,n);

printf("Median:%.2fn",median);

return0;

}

30.**计算斐波那契数列使用递归**

练习:编写一个程序,使用递归计算斐波那契数列的第n个数字。

#include

intfibonacci(intn){

if(n<=1){

returnn;

}

returnfibonacci(n-1)+fibonacci(n-2);

}

intmain(){

intn=10;

intresult=fibonacci(n);

printf("Fibonaccinumberatposition%dis%dn",n,result);

return0;

}

31.**判断闰年**

练习:编写一个程序,接受用户输入的年份,然后判断它是否是闰年。

#include

intmain(){

intyear;

printf("Enterayear:");

scanf("%d",&year);

if((year%4==0&&year%100!=0)||year%400==0){

printf("%disaleapyear.n",year);

}else{

printf("%disnotaleapyear.n",year);

}

return0;

}

32.**计算字符串中的元音字母数**

练习:编写一个程序,计算一个字符串中元音字母(a,e,i,o,u)的数量。


本文标签: 程序 编写 计算 练习