c編程例題
1. c語言程序設計例題
題目1
#include "stdio.h"
void main(void)
{
int n=5,m=10,i=1;
long sum=1;
for(;i<=n;i++)
{
sum*=i;
}
printf("\n5!=%d",sum);
for(i=1;i<=10;i++)
{
sum*=i;
}
printf("\n10!=%d",sum);
}
題目2
#include "stdio.h"
#include "string.h"
struct Student
{
char s_Name[25];
long n_Code;
int n_English;
int n_Math;
int n_Computer;
}student_1,student_2;
void main(void)
{
printf("\nStudent1:\nName:");
scanf("%s",&student_1.s_Name);
printf("StudentNum:");
scanf("%d",&student_1.n_Code);
printf("English Score:");
scanf("%d",&student_1.n_English);
printf("Math Score:");
scanf("%d",&student_1.n_Math);
printf("Computer Score:");
scanf("%d",&student_1.n_Computer);
printf("\nStudent2:\nName:");
scanf("%s",&student_2.s_Name);
printf("StudentNum:");
scanf("%d",&student_2.n_Code);
printf("English Score:");
scanf("%d",&student_2.n_English);
printf("Math Score:");
scanf("%d",&student_2.n_Math);
printf("Computer Score:");
scanf("%d",&student_2.n_Computer);
printf("\nStudent1:\nName:%s\nStudent Number:%d\nEnglish Score:%d\nMath Score:%d\nComputer Score:%d\n",student_1.s_Name,student_1.n_Code,student_1.n_English,student_1.n_Math,student_1.n_Computer);
printf("\nStudent2:\nName:%s\nStudent Number:%d\nEnglish Score:%d\nMath Score:%d\nComputer Score:%d\n",student_2.s_Name,student_2.n_Code,student_2.n_English,student_2.n_Math,student_2.n_Computer);
}
2. C語言編程題目
#include <stdio.h>
char *StrCat(char *s,char *t)
{
int i=0,j=0;
char *s1,*t1;
s1=s;t1=t;
for(;*s1;s1++,i++);
for(;*t1;t1++,j++);
if(i<=j)
{
for(;*t;)*s1++=*t++;*s1='\0';
return s;
}
else
{
for(;*s;)*t1++=*s++;*t1='\0';
return t;
}
}
int main(int argc, char *argv[])
{
char a[100],b[100];
scanf("%s",a);
scanf("%s",b);
printf("%s",StrCat(a,b));
return 0;
}
3. C語言編程的題目
無論是哪門程序語言都少不了對於字元串的處理,而且用好的話能幫我們解決很多數據處理等方面的問題!
下邊我們就一起來看看python是如何分解並統計字元串的?
案例
輸入一行字元,分別統計出其中英文字母、空格、數字和其它字元的個數。
先上代碼~
運行效果
題目詳述
第一行:
s = input('請輸入一個字元串: ')
定義一個輸出字元串的input函數,並且將字元串賦值給變數s,其中的 為換行符,目的是為了格式好看一些,不需要的朋友可以選擇去掉
第二行:
letters = 0
space = 0
digit = 0
others = 0
定義四個變數,依次是letters、space、digit、others,分別用來統計英文字元、空格、數字以及其他的個數,初始值均為0
第三行:
for c in s:
將字元S拆分,並且遍歷里邊的每個元素,賦值給c
第四行:
if c.isalpha():
letters += 1
isalpha是一種函數:判斷字元ch是否為英文字母,若為英文字母,返回非0(小寫字母為2,大寫字母為1)。若不是字母,返回0。
判斷拆分元素c是否是英文字母,如果是的話英文字母的統計變數letters的值加1
第五行:
elif c.isspace():
space += 1
判斷:元素c是否是空格,如果是的話,空格的統計變數space的值加1
第六行:
elif c.isdigit():
digit += 1
判斷:元素c是否是數字,如果是的話,數字的統計變數digit的值加1
第七行:
else:
others += 1
判斷:元素c以上的都不滿足,就是特殊符號,其他的統計變數others的值加1
進階:
利用這個原理我們就輕松的實現了對於字元串的拆分統計
是不是很便捷呢
結束語
總體來說思路只要有了,以後遇到類似的問題就可以解決了,是不是發現原來Python也沒有想像中的那麼難!
———— e n d ————
4. C語言編程題目
#include<stdio.h>
#include<math.h>
voidmain()
{
inti,j,k,temp,b1,b2,b3,b4,a1,a2,a3,a4,a5,a6;
for(i=10;i<22;i++)
{
if((j=pow(i,3))>1000&&j<9999&&(k=pow(i,4))>100000&&k<999999)
{
temp=j;
b1=temp%10;
temp/=10;
b2=temp%10;
temp/=10;
b3=temp%10;
temp/=10;
b4=temp;
temp=k;
a1=temp%10;
temp/=10;
a2=temp%10;
temp/=10;
a3=temp%10;
temp/=10;
a4=temp%10;
temp/=10;
a5=temp%10;
temp/=10;
a6=temp;
//printf("%d%d%d ",i,j,k);
//printf("%d%d%d%d ",b4,b3,b2,b1);
//printf("%d%d%d%d%d%d ",a6,a5,a4,a3,a2,a1);
if(a1!=a2&&a1!=a3&&a1!=a4&&a1!=a5&&a1!=a6&&a1!=b1&&a1!=b2&&a1!=b3&&a1!=b4&&a2!=a3&&a2!=a4&&a2!=a5&&a2!=a6&&
a2!=b1&&a2!=b2&&a2!=b3&&a2!=b4&&a3!=a4&&a3!=a5&&a3!=a6&&a3!=b1&&a3!=b2&&a3!=b3&&a3!=b4&&a4!=a5&&a4!=a6&&a4!=b1&&
a4!=b1&&a4!=b2&&a4!=b3&&a4!=b4&&a5!=a6&&a5!=b1&&a5!=b2&&a5!=b3&&a5!=b4&&a6!=b1&&a6!=b2&&a6!=b3&&a6!=b4&&
b1!=b2&&b1!=b3&&b1!=b4&&b2!=b3&&b2!=b4&&b3!=b4)
printf("age=%d ",i);
}
}
}
題目太變態,限定變數名稱 ,用數組省很多鍵盤輸入。
5. c語言編程題
C語言編程題
1.(*)求分數序列:1/2,2/3,3/5,5/8,8/13,13/21...... 前20項的和。
main()
{float i=1,j=2,t=0,s,n,m;
for(n=1;n<=20;n++)
s=i/j,m=i,i=j,j=m+j,t=t+s;
printf("t=%f",t);
}
2.(*)從鍵盤輸入一個字元串,再將其逆序輸出。(如:輸入abcde,輸出edcba)
main()
{int i;
char c[10];
scanf("%s",c);
for(i=9;i>=0;i--)
printf("%c",c[i]);
}
3.(*)已知abc+cba=1333,其中a、b、c均為一位數,例如:617+716=1333, 518+815=1333,
試編程求出符合這一規律的a、b、c,並輸出結果。
main()
{int a,b,c,x,y;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=1;c<=9;c++)
{ x=100*a+10*b+c;
y=100*c+10*b+a;
if(x+y==1333)
printf("x=%d,y=%d",x,y);}
}
4.(*)利用海倫公式求三角形面積,三邊長a,b,c由鍵盤輸入。若輸入的三邊長不能構成
三角形,輸出相應提示信息。海倫公式如下:其中s=(a+b+c)/2
三角形面積=
#include"math.h"
main()
{ float a,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
if(a+b>c&&a+c>b&&b+c>a)
printf("area=%f",area);
else
.1 .
printf("no");
}_
5.(*)編程求出1!+2!+3!+…+8!+9!+10!的值並輸出。
程序1: main()
{ int i,j;
double p=1, sum=0;
for(i=1;i<=10;i++)
{ for(j=1;j<=i;j++)
p=p*i;
sum=sum+p;p=1.0;}
printf("sum=%f",sum);
}_
程序2:float fac(n)
int n;
{flo
6. C語言編程題
#include <stdio.h>
int main()
{
char c;
do
{
c=getchar();
if(c>='a'&&c<='z')
{
c+='A'-'a';
c='Z'-c+'A';
}
else if(c>='A'&&c<='Z')
{
c+='a'-'A';
c='z'-c+'a';
}
putchar(c);
}while(c!=' ');
return 0;
}
7. c語言編程例題
#include<iostream>
#include<math.h>
usingnamespacestd;
//判斷一個數是否為素數
boolIsPrimeNumber(intiNum)
{
boolbRtn=true;
if(iNum<=1)
{
returnfalse;
}
intiTmp=sqrt((double)iNum);
for(inti=2;i<=iTmp;++i)
{
if((iNum%i)==0)
{
bRtn=false;
break;
}
}
returnbRtn;
}
//判斷一個數是否為偶數
//true,偶數;false,奇數
boolIsEvenNumber(intiNum)
{
return((iNum%2)==0)?true:false;
}
//查找小於1000的迴文素數
voidFindPalindromePrimes(intiNum)
{
boolbRst=false;
inti=2;
intiHundDigit=0,iTenDigit=0,iSingleDigit=0;
for(i;i<1000;++i)
{
if(IsPrimeNumber(i))
{
if(i<10)
{
bRst=true;
cout<<i<<"";//輸出迴文素數.
}
elseif((i>=10)&&(i<100))
{
iTenDigit=i/10;
iSingleDigit=i%10;
//如果個位上的數與10位上的數相等
if(iTenDigit==iSingleDigit)
{
bRst=true;
cout<<i<<"";
}
}
else
{
intiTmp=i;
iHundDigit=iTmp/100;
iTmp=iTmp%100;
iTenDigit=iTmp/10;
iSingleDigit=iTmp%10;
if((iHundDigit==iTenDigit)&&(iTenDigit==iSingleDigit))
{
bRst=true;
cout<<i<<"";
}
}
}
}
if(!bRst)
{
cout<<"沒有小於1000的迴文素數!"<<endl;
}
}
//查找小於100的絕對素數
voidFindAbsolutePrime(intiNum)
{
boolbRst=false;
inti=2,iTmp=0;
intiTenDigit=0,iSingleDigit=0;
for(i;i<100;++i)
{
if(IsPrimeNumber(i))
{
iTenDigit=i/10;
iSingleDigit=i%10;
iTmp=iSingleDigit*10+iTenDigit;
if(IsPrimeNumber(iTmp))
{
bRst=true;
cout<<i<<"";
}
}
}
if(!bRst)
{
cout<<"沒有小於100的絕對素數!"<<endl;
}
}
//分解10~20之間的偶數
voidResolveEventNum(intiNum)
{
boolbRst=false;
inti=2,iTmp=0;
for(;i<iNum;++i)
{
if(IsPrimeNumber(i))
{
iTmp=iNum-i;
if(IsPrimeNumber(iTmp))
{
bRst=true;
cout<<iNum<<"分解為"<<i<<"+"<<iTmp<<endl;
break;
}
}
else
continue;
}
if(!bRst)
{
cout<<"不能分解為兩個素數之和!"<<endl;
}
}
intmain(void)
{
intiInput=0;
cout<<"請輸入一個大於1的整數:";
cin>>iInput;
if(IsEvenNumber(iInput))
{
cout<<iInput<<"是一個偶數"<<endl;
if((iInput>=10)&&(iInput<=20))
{
ResolveEventNum(iInput);
}
}
else
{
cout<<iInput<<"是一個奇數"<<endl;
cout<<"查找小於1000的迴文數:"<<endl;
FindPalindromePrimes(iInput);
cout<<endl;
cout<<"查找小於100的絕對素數:"<<endl;
FindAbsolutePrime(iInput);
cout<<endl;
}
getchar();
return0;
}
附上運行結果(如果滿意,麻煩設為最佳答案,做任務需要,謝謝!):
8. C語言編程題
12.int main()
{
for(int i=1;i<=9;i++)
{
for(int j=i;j<=9;j++)
cout<<i<<"*"<<j<<"="<<i*j<<" ";
cout<<endl;
}
return 0;
}
13.int main()
{int count=0;
for(int i=1000;i<10000;i++)
if(i%10==8&&i%4==0)
count++;
cout<<count<<endl;
return 0;
}
7.
#define N 5
int main()
{int fish_num0=1,flag=0,fish_num;
while(flag!=1)
{ fish_num=fish_num0;
int count=0;
for(int i=N;i>=1&&fish_num/N>0;i--)
{
fish_num=fish_num-1;
if(fish_num%N==0&&fish_num/N>0) count++;
fish_num=fish_num/N*(N-1);
}
if(count==N) flag=1;
fish_num0++;
}
cout<<fish_num0-1<<endl;
return 0;
}
這是用C++寫的,在tc上運行時稍改一下輸入輸出函數即可!
9. C語言編程習題,急需做!
1題:
#include
<stdio.h>
#define
M
4
void
main()
{
int
suzu[M][M];
int
x,
y;
int
zu
=
0;
for(x
=
0;
x<M;
x++)
for(y
=
0;
y<M;
y++)
{
scanf("%d",&suzu[x][y]);
}
for(x
=
0;
x<M;
x++)
{
zu
=
zu
+
suzu[x][x];
}
printf("zu
i
jiao
xian
de
he
:%d\n",zu);
getch();
}
2題:
#include
<stdio.h>
void
main()
{
int
i
=
0;
int
sun
=
0;
int
su;
for(i;
i<100;
i++)
{
scanf("%d",&su);
sun
+=
su;
}
printf("sun
=
%d\n",sun);
getch();
}
3題:
30
3
54
16
7,7
4題:
(1):
6
(2):
-5,-12,-7
**
c的寫法應該這樣
#include
<stdio.h>
sub(int
x,
int
y,int
*z)
{
*z
=
y
-
x;
}
main(
)
{
int
a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf("%d,%d,%d\n",a,b,c);
getch();
return
0;
}
-----------------------------------------------------
1.在有問題請核對提問是否正確
continue也寫錯。。
2.象這樣的問題在簡單不過
應該努力去學
網路
老岩
[email protected]
10. c語言編程題
//1.輸入一個字元串和整數n,將前n個字元復制到另一個字元串中並輸出。
#include<stdio.h>
void
main()
{
char
a[50];
char
b[50];
printf("輸入一個字元串:\n");
int
n;
gets(a);
printf("輸入一個整數\n");
scanf("%d",&n);
int
i;
for(i=0;i<n;i++)
{
b[i]=a[i];
printf("%c",b[i]);
}
printf("\n");
}