1. c語言簡單編程
1.輸入2個正整數m和n,求其最大公約數和最小公倍數
#include<stdio.h>
#include<math.h>
int main()
{
int m,n,p,q,s,r;
printf("請輸入兩個正整數;m,n\n");
scanf("%d,%d",&m,&n);
s=m*n;
if(m<n)
{
p=m;
m=n;
n=p;
}
printf("%d\t%d\n",m,n);/*按從大到小輸出m,n */
while(n!=0)
{
q=m%n;
m=n;
n=q;
}
/*是不是m才是最大公約數啊*/
r=s/m;
printf("m和n最大公約數為 %d\n",m);
printf("m和n最小公倍數為 %d\n",r);/*m和n的積除以m和n的最大公約數即為最小公倍數*/
return 0;
}
2.輸出100以內能被3整除且個位數為6的所有整數。
#include<stdio.h>
int main(void)
{
int i;
for(i=1;i<=100;i++)
if(i%3==0&&i%10==6)printf("%d ",i);
return 0;
}
3. 編程計算從1到10各數階乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include<stdio.h>
int main(void)
{
int sum,i,term;
sum=0;
term=1;
for(i=1;i<=10;i++)
{
term=term*i;
sum=sum+term;
printf("%d的階乘 %d\n",i,term);
}
printf("1到10各數階乘的和 %d\n",sum);
return 0;
}
4.使用嵌套循環產生下列由大寫字母組成的圖
#include<stdio.h>
int main(void)
{
char ch1,ch2;
for(ch1='A';ch1<='Z';ch1++)
{
for(ch2='A';ch2<=ch1;ch2++)
printf("%c",ch2);
printf("\n");
}
return 0;
}
5. 編程輸出所有三位數中的素數。
#include<stdio.h>
int main(void)
{
int x,i;
for(x=100;x<=999;x++)
{
for(i=2;i<x/2;i++)
if(x%i==0)break;
if(i==x/2)printf("%d ",x);
}
return 0;
}
6. 定義一個函數even(),判斷一個整數是否是偶數。如果是偶數返回1,否則返回0。(要求包括能使程序正常運行的主函數)
#include<stdio.h>
int main(void)
{
int even(int);
int x,y;
scanf("%d",&x);
y=even(x);
if(y==1)
printf("%d 是偶數\n",x);
else
printf("%d 是奇數\n",x);
return 0;
}
int even(int x)
{
if(x%2==0)
return 1;
else
return 0;
}
7. 編寫函數mypow,求整型變數x的y次方。(要求包括能使程序正常運行的主函數)
#include<stdio.h>
int main(void)
{
int mypow(int,int);
int x,y,s;
scanf("%d%d",&x,&y);
s=mypow(x,y);
printf("%d的%d次方是 %d\n",x,y,s);
return 0;
}
int mypow(int x,int y)
{
int sum,i;
sum=1;
for(i=1;i<=y;i++)
sum=sum*x;
return sum;
}
8.輸入一個3位整數,輸出它的逆序數。例如,輸入127,輸出應該是721。
#include<stdio.h>
int main(void)
{
int x,y;
scanf("%d",&x);
y=x/100+x/10%10*10+x%10*100;
printf("%d的逆序數 %d\n",x,y);
return 0;
}
9. 編寫一個字元串連接函數,其功能是將兩個字元串連接起來形成一個新的字元串,以實現庫函數strcat()的功能
#include<stdio.h>
int main(void)
{
void mystrcat(char s1[],char s2[]);
char s1[80],s2[80];
scanf("%s%s",s1,s2);
mystrcat(s1,s2);
printf("%s\n",s1);
return 0;
}
void mystrcat(char s1[],char s2[])
{
int i,j;
for(i=0;s1[i]!='\0';i++);
for(j=0;s2[j-1]!='\0';j++)s1[i+j]=s2[j];
}
10. 編寫一個字元串復制函數,其功能是將字元數組s2中的全部字元(包括字元串結束符號'\0')拷貝到字元數組 s1 中,以實現庫函數strcpy()的功能。
#include<stdio.h>
int main(void)
{
void mystrcpy(char s1[],char s2[]);
char s1[80],s2[80];
scanf("%s",s2);
mystrcpy(s1,s2);
printf("%s\n",s1);
return 0;
}
void mystrcpy(char s1[],char s2[])
{
int i;
for(i=0;s2[i-1]!='\0';i++)
s1[i]=s2[i];
}
11.有一字元串,包含n個字元。寫一函數,將此字元串中從第m個字元開始的全部字元復製成為另一個字元串
#include<stdio.h>
int main(void)
{
void mystrcpy2(char s1[],char s2[],int m,int n);
char s1[80],s2[80];
int m,n;
scanf("%d%d",&m,&n);
scanf("%s",s1);
mystrcpy2(s1,s2,m,n);
printf("s1: %s\ns2: %s\n",s1,s2);
return 0;
}
void mystrcpy2(char s1[],char s2[],int m,int n)
{
int i,j;
for(i=m-1,j=0;i<n&&s1[i]!='\0';i++)
s2[j++]=s1[i];
s2[j]='\0';
}
2. 簡單的C語言編程
第一個,有小數有整數,肯定會把整數轉換成小數在計算
第二個,把2轉換成long 類型
第三個,10/15
會得到個小數,最後會在取整,變成整數
第四個,齊了,啥都有
=============================================
void
main()
{
double
x=2.7,a=8,y=4.5;
cout<<
y+a%5*(int)(x+y)/2%4
<<endl;
}
1>------
已啟動生成:
項目:
main,
配置:
Debug
Win32
------
1>正在編譯...
1>x.cpp
1>
WINVER
not
defined.
Defaulting
to
0x0600
(Windows
Vista)
1>c:\users\administrator\desktop\main\main\x.cpp(142)
:
error
C2296:
「%」:
非法,左操作數包含「double」類型
1>生成日誌保存在「file://c:\Users\Administrator\Desktop\main\main\Debug\BuildLog.htm」
1>main
-
1
個錯誤,0
個警告
==========
生成:
成功
0
個,失敗
1
個,最新
0
個,跳過
0
個
==========
3. c語言編程
#include<stdio.h>
int main()
{
int max,//記錄最大值
min,//記錄最小值
x,//每次輸入的值
i,//循環變數
sum;//和
char enter;//用於接收回車符
printf("請輸入100個整數,回車分隔:\n");
//首先讀入一個數,默認設為最大值、最小值
scanf("%d",&x);
scanf("%c",&enter);
max = x;
min = x;
sum = x;
//循環99次,輸入接下來的99個數
for(i=1;i<100;i++)
{
scanf("%d",&x);
scanf("%c",&enter);
//每次都與之前確定的最大值最小值比較,
//得到到目前為止的最大值和最小值
if(max<x)
{
max = x;
}
if(min>x)
{
min = x;
}
//計算和
sum += x;
}
//輸出結果
printf("最大值:%d,\t最小值:%d,\t平均值:%f\n",max,min,(double)sum/100);
return 0;
}
4. 我最近想學55系列DSP的C語言編程,請各位高手指點一下有什麼合適的教材,謝謝!
這本書是DSP的經典教程:TMS 320 C55X 系列DSP指令系統、開發工具與編程指南 。
而DSP支持標准C語言,因此學C語言,選擇譯本C教程即可,比如:C Primer Plus(第五版)。
而語音識別則是演算法應用,對數學基礎要求比較好。學好微積分和級數等。
5. c語言編程題55
本題關鍵是找到分母的變化規律,以便構成循環。設分母為m,則m初值為1,以後每項可表示為m=m+k,k初值為0,每項變化為k=k+2。
設和為s=0,求前n項的和,則循環可寫為:
for(i=1:i<n;i++)
{m=m+k;
s=s+1.0/m;
K=k+2;}
補充完整,即可。
另外,本題循環結束條件不滿楚,題目小有問題。
6. C語言編程
第0題:
#include<stdio.h>
#define MAXLEN 70
main()
{
char s1[MAXLEN],s2[MAXLEN],same[MAXLEN]={0};
int i,temp,flag=0;
printf("請輸入第一個字元串:\n");
scanf("%s",s1);
printf("請輸入第二個字元串:\n");
scanf("%s",s2);
i=strlen(s1);
temp=strlen(s2);
if(i<temp) i=temp;
temp=i;
for(i=0;i<temp;i++)
if(s1[i]==s2[i]) {flag=1;same[i]=1;printf("%c ",s1[i]);}
if(flag==0) printf("####");
printf("\n");
for(i=0;i<temp && falg==1;i++)
if(same[i]) printf("%d ",i);
}
第1題
#include <stdio.h>
main()
{
int a[10]={36,90,55,58,25,39,79,89,33,74}, x;
int i,j,temp;
/*排序開始*/
printf("排序前:\n");
for(i=0;i<10;i++) printf("%d ",a[i]);
for(i=0;i<10;i++)
for(j=i+1;j<10;j++)
if(a[i]>a[j]) {temp=a[i];a[i]=a[j];a[j]=temp;}
printf("\n排序後:\n");
for(i=0;i<10;i++) printf("%d ",a[i]);
/*排序結束*/
printf("\n請輸入所查找的數值:\n");
scanf("%d",&x);
/*查找開始*/
i=0;
j=9;
while(1)
{
temp=(i+j)/2;
if((i==j && a[temp]!=x)|| i>j) {temp=-1;break;}
if(a[temp]==x) {break;}
x>a[temp]?(i=temp+1):(j=temp-1);
}
printf("查找結果:%d\n",temp);
/*查找結束*/
}
第3題
#include<stdio.h>
#define M 3
#define N 4
main()
{
int ab[M][N]={{11, 12, 13, 14},
{21 ,22 ,23, 24 },
{31 ,32, 33, 34}};
int ba[N][M],i,j;
/*轉置:*/
for(i=0;i<M;i++)
for(j=0;j<N;j++)
ba[j][i]=ab[i][j];
/*輸出:*/
printf("轉置後的矩陣是:");
for(i=0;i<N;i++)
{puts("\n");
for(j=0;j<M;j++)
printf("%d ",ba[j][i]);
}
}
7. C語言編程 關於計算時間的問題 望高手解答!
希望能夠我的思路可以幫助你:
①如果password="124567"時,歡迎進入!
②如果password != "124567"時,等待15分鍾!
③等待15分鍾後返回重新輸入密碼!
#include <stdio.h>
#include <string.h>
#include<windows.h>
int main()
{
char str[20], password;
int x,i;
//執行4次循環0,1,2,3
for(x=0; x<=3 && strcmp(str,"1234567")!=0; x++)
{
printf("Enter password please:");
scanf("%s",&str);
//當密碼錯誤時提示輸入錯誤!
if(strcmp(str,"1234567")!=0)
{
printf("Input error!\n");
}
//當錯誤了3次時執行等待,並重置x的初值
if(x==2)
{
printf("Please wait another 15 min.");
for(i=0;i<=(15*60);i++)
Sleep(1000); //停滯一秒
//重置x的初值
x=0;
}
else
//密碼輸入正確時跳出循環,執行for循環之外的語句
{
if(strcmp(str,"1234567")==0)
printf("Welcome\n");
break;
}
}
//可以插入驗證後要執行的代碼
return 0;
}
8. c語言編程(不是c++哦)
我這邊先寫了第一題答案 以及第二題答案!你看,要是符合你要求的話,再繼續!
/**
* @author 方涵萍
*right (C)[email protected] 2013-05-05
*
* 輸出100以內個位數為6且能被3整除的所有數。
*/
#include <stdio.h>
#include <stdlib.h>
//輸出100以內個位數為6且能被3整除的所有數。x為零時,結束輸入
void divisible()
{
int x;
while(1)
{
scanf("%d",&x);
if(x==0)
exit(0);
else if(x%10==6 && x/3)
printf("輸入的是:%d\n",x);
else
printf("你輸入的值個位數不為6且能被3整除的所有數\n");
}
}
int main(int argc,char **argv)
{
printf("請輸入一個100以內的整數!若退出,請輸入「0」\n");
divisible();
return 0;
}
/**
* @author 方涵萍
*right (C)[email protected] 2013-05-05
*
* 鍵盤輸入6 位學生的5門課成績,分別統計出每個學生的平均成績。
*/
#include <stdio.h>
#include <stdlib.h>
struct student
{
float chinese;//語文成績
float english;//英語
float math;//數學
float c;//c語言
float java;//java
}stu[6];
//分別統計每個學生的平均分
void average(int i)
{
float total=0;
total+=stu[i].chinese;
total+=stu[i].english;
total+=stu[i].math;
total+=stu[i].c;
total+=stu[i].java;
printf("第%d個學生的平均分為%f\n",i+1,total/5);
}
int main(int argc,char **argv)
{
int i;
printf("請分別輸入輸入6 位學生的5門課成績!\n");
for(i=0;i<1;i++)
{
printf("第%d個學生的成績\n",i+1);
printf("\t語文成績:");
scanf("%f",&stu[i].chinese);
printf("\t英語成績:");
scanf("%f",&stu[i].english);
printf("\t數學成績:");
scanf("%f",&stu[i].math);
printf("\tc語言成績:");
scanf("%f",&stu[i].c);
printf("\tjava成績:");
scanf("%f",&stu[i].java);
}
//計算平均分
for(i=0;i<1;i++)
{
printf("\n計算每個學生的平均分\n");
average(i);
}
return 0;
}
9. C語言程序設計這門課程第八章函數進階(中級)的知識點有哪些
C語言程序設計這門課第八章函數進階(中級)的知識點包含【中級】第48講-參數的2種傳遞方式,【中級】第49講-編寫一個strlwr函數,【中級】第50講-數組作為函數參數,【中級】第51講-指針數組作為函數參數,【中級】第52講-指向指針的指針作為函數參數,【中級】第53講-結構體作為函數參數,【中級】第54講-函數的作用范圍,【中級】第55講-變數的作用范圍,。
10. C語言編程的詳細解答
補充函數max,利用指針實現返回三個數中的最大值。
#include <stdio.h>
int max (int *x, int *y, int *z)
{ int *t;
if(*x<*y){t=x;x=y;y=t;}
if(*x<*z){t=x;x=z;z=t;}
if(*y<*z){t=y;y=z;z=t;}
return *x;
}
void main()
{
int a, b, c;
int *r, *s, *t;
clrscr()
r = &a;
s = &b;
t = &c;
scanf("%d, %d, %d", r, s, t);
printf("max = %d", max(r, s, t));
getch();
}
改寫下面程序,使得通過調用swap函數在main中交換a和b的值。
#include <stdio.h>
void swap(int *x, int *y)
{
int *t;
t = x, x = y, y = t;
}
void main()
{
int a, b, *p, *q;
clrscr();
p = &a;
q = &b;
printf("Before swap: a=%d, b=%d \n", a, b);
swap(p, q);
printf("After swap: a=%d, b=%d \n", a, b);
getch();
}
完成函數count、input,返回數組中大於num的數據的個數。
#define N 5
#include <stdio.h>
int count(int *p, int q)
{
int result=0;
...
return (result);
}
void input(int x[])
{
}
void main()
{
int num, a[N];
printf("Input a number: ");
scanf("%d", &num);
input(a);
printf("%d numbers are bigger than %d.", count(t, num), num);
}//進行中....