㈠ 1!+2!+....n! 用c語言怎麼寫,力求用較為簡單的語言
C語言程序 #include "graphics。h" #include "stdio。h" void huatu(l,w,h) { setcolor(BLUE);setlinestyle(0,0,3); line(360-w。2,720+h-w。2,310+w。2,220+h-w。2); line(520-w。2,120,550-w。2,820+h-w。2); line(710+w。2,720,140+w。2,820+h-w。2); line(120-w。2,370-l。2,320+w。2,040-l。2); line(240-w。2,810-l。2,300-w。2,650+l。2); line(400-w。2,100+l。2,350+w。2,710+l。2); line(680+w。2,100-l。2,410+w。2,340+l。2); setcolor(YELLOW);setlinestyle(6,0,3); line(750-w。1,510-l。2,350-w。2,420+l。2); line(650+w。7,520-l。2,620+w。6,310+l。2); line(210+w。30,520-l。2,780+w。00,810+l。2); line(240-w。70,250-l。2,460-w。60,710+l。2); line(440-l。2,220-w。4,840+l。2,620-w。6); line(340-l。2,720+w。0,320+l。2,720+w。1); setlinestyle(0,0,8);setcolor(BLUE); line(850-l。2,620-w。2,080+l。2,820-w。2); line(470-l。2,120+h-w。2,350+l。2,420+h-w。2); line(160-l。2,620-w。2,400-l。2,320+h-w。2); line(780+l。2,020-w。2,300+l。2,120+h-w。2); setcolor(WHITE);setlinestyle(0,0,3); line(300-w。2,720+h-w。2,570+w。2,820+h-w。2); line(010-w。2,220,070-w。2,220+h-w。2); line(280+w。2,620,530+w。2,020+h-w。2); circle(500,020,w。5); arc(860,720,0,470,w。2); circle(630,420-w。2。84,w。30); setcolor(GREEN);setbkcolor(BLACK); setlinestyle(0,0,8); rectangle(30,20,430,860); setlinestyle(0,0,3); rectangle(20,20,820,860); setcolor(RED);setlinestyle(2,0,4); line(00,320,200,120); line(200,30,260,680); line(300,520,280,220); line(110,10,300,580); line(30,260,250,170); line(310,270,720,770); setcolor(GREEN);setlinestyle(0,0,8); line(600,270,700,540); line(800,030,320,410); line(100,200,220,200); line(200,170,320,180); line(100,380,620,660); line(540,100,240,150); settextstyle(DEFAULT_FONT,HORIZ_DIR,2); outtextxy(860,230,"Computer Program Course Design"); outtextxy(620,230," Name"); outtextxy(820,720,"Number"); outtextxy(560,820,"gaoyuan"); outtextxy(340,770,"0500047368"); } main() { int driver,mode,l,w,h; float k; driver=VGA,mode=2; initgraph(&driver,&mode,""""); setbkcolor(BLACK); printf("enter l(20<l<320) w(80<W<10) h(60<h<60)"); scanf("%d%d%d",&l,&w,&h); huatu(l,w,h); printf("k"); scanf("%f",&k); h=h*k,w=w*k,l=l*k; clearviewport(); huatu(l,w,h); getch(); } ftn
㈡ C語言簡單程序分析
for(k=0;k<strlen(a+81*i);k++)
{
........;
k--;
}
死循環
gets是輸入字元串函數,不是字元。所以不需要循環
㈢ ds18b20的c語言程序
#include <reg52.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit DS=P3^3; //定義DS18B20介面
int temp;
uchar flag1;
void display(unsigned char *lp,unsigned char lc);//數字的顯示函數;lp為指向數組的地址,lc為顯示的個數
void delay();//延時子函數,5個空指令
code unsigned char table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x08,0x00};
//共陰數碼管 0-9 - _ 空 表
unsigned char l_tmpdate[8]={0,0,10,0,0,0,0,0};//定義數組變數,並賦值1,2,3,4,5,6,7,8,就是本程序顯示的八個數
int tmp(void);
void tmpchange(void);
void tmpwritebyte(uchar dat);
uchar tmpread(void);
bit tmpreadbit(void);
void dsreset(void);
void delayb(uint count);
void main() //主函數
{
uchar i;
int l_tmp;
while(1)
{
tmpchange(); //溫度轉換
l_tmp=tmp();
if(l_tmp<0)
l_tmpdate[0]=10; //判斷溫度為負溫度,前面加"-"
else
{
l_tmpdate[0]=temp/1000; //顯示百位,這里用1000,是因為我們之前乖以10位了
if(l_tmpdate[0]==0)
l_tmpdate[0]=12;//判斷溫度為正溫度且沒有上百,前面不顯示
}
l_tmp=temp%1000;
l_tmpdate[1]=l_tmp/100;//獲取十位
l_tmp=l_tmp%100;
l_tmpdate[2]=l_tmp/10;//獲取個位
l_tmpdate[3]=11;
l_tmpdate[4]=l_tmp%10;//獲取小數第一位
for(i=0;i<10;i++){ //循環輸出10次,提高亮度
display(l_tmpdate,5);
}
}
}
void display(unsigned char *lp,unsigned char lc)//顯示
{
unsigned char i; //定義變數
P2=0; //埠2為輸出
P1=P1&0xF8; //將P1口的前3位輸出0,對應138譯門輸入腳,全0為第一位數碼管
for(i=0;i<lc;i++){ //循環顯示
P2=table[lp[i]]; //查表法得到要顯示數字的數碼段
delay(); //延時5個空指令
if(i==7) //檢測顯示完8位否,完成直接退出,不讓P1口再加1,否則進位影響到第四位數據
break;
P2=0; //清0埠,准備顯示下位
P1++; //下一位數碼管
}
}
void delay(void) //空5個指令
{
_nop_();_nop_();_nop_();_nop_();_nop_();
}
void delayb(uint count) //delay
{
uint i;
while(count)
{
i=200;
while(i>0)
i--;
count--;
}
}
void dsreset(void) //DS18B20初始化
{
uint i;
DS=0;
i=103;
while(i>0)i--;
DS=1;
i=4;
while(i>0)i--;
}
bit tmpreadbit(void) // 讀一位
{
uint i;
bit dat;
DS=0;i++; //小延時一下
DS=1;i++;i++;
dat=DS;
i=8;while(i>0)i--;
return (dat);
}
uchar tmpread(void) //讀一個位元組
{
uchar i,j,dat;
dat=0;
for(i=1;i<=8;i++)
{
j=tmpreadbit();
dat=(j<<7)|(dat>>1); //讀出的數據最低位在最前面,這樣剛好//一個位元組在DAT里
}
return(dat); //將一個位元組數據返回
}
void tmpwritebyte(uchar dat)
{ //寫一個位元組到DS18B20里
uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb) // 寫1部分
{
DS=0;
i++;i++;
DS=1;
i=8;while(i>0)i--;
}
else
{
DS=0; //寫0部分
i=8;while(i>0)i--;
DS=1;
i++;i++;
}
}
}
void tmpchange(void) //發送溫度轉換命令
{
dsreset(); //初始化DS18B20
delayb(1); //延時
tmpwritebyte(0xcc); // 跳過序列號命令
tmpwritebyte(0x44); //發送溫度轉換命令
}
int tmp() //獲得溫度
{
float tt;
uchar a,b;
dsreset();
delayb(1);
tmpwritebyte(0xcc);
tmpwritebyte(0xbe); //發送讀取數據命令
a=tmpread(); //連續讀兩個位元組數據
b=tmpread();
temp=b;
temp<<=8;
temp=temp|a; //兩位元組合成一個整型變數。
tt=temp*0.0625; //得到真實十進制溫度值,因為DS18B20
//可以精確到0.0625度,所以讀回數據的最低位代表的是
//0.0625度。
temp=tt*10+0.5; //放大十倍,這樣做的目的將小數點後第一位
//也轉換為可顯示數字,同時進行一個四捨五入操作。
return temp; //返回溫度值
}
void readrom() //read the serial 讀取溫度感測器的序列號
{ //本程序中沒有用到此函數
uchar sn1,sn2;
dsreset();
delayb(1);
tmpwritebyte(0x33);
sn1=tmpread();
sn2=tmpread();
}
void delay10ms()
{
uchar a,b;
for(a=10;a>0;a--)
for(b=60;b>0;b--);
}
㈣ 四川大學計算機考研874和820哪個難
4,學碩,
① 101 思想政治理論
② 201 英語一
③ 301 數學一
④ 874 計算機科學專業基礎綜合
專碩,
① 101 思想政治理論
② 204 英語二
③ 302 數學二
④ 874 計算機科學專業基礎綜合
復試都一樣
復試科目:C語言 同等學力加試: 1、微機原理 2、資料庫系統原理
計算機學院考研(專業)參考書目如下:
1.書名《微型計算機原理及其應用》
出版社:清華大學出版社
作者:周明德
2.書名:《操作系統》
出版社:西安電子工業出版社
作者:湯子瀛
3.書名:《C語言程序設計》
出版社:清華大學出版社
作者:譚浩強
㈤ 請問用C語言編寫一個十進制轉換成二進制或八進制或十六進制的程序需要怎麼打
#include<stdio.h>
voidmain()
{
//進制轉換函數的聲明
inttransfer(intx);
intx;
printf("請輸入一個十進制數:");
scanf("%d",&x);
printf("轉換成二進制數是:%d ",transfer(x));
}
inttransfer(intx)
{
intp=1,y=0,yushu;
while(1)
{
yushu=x%2;
x/=2;
y+=yushu*p;
p*=10;
if(x<2)
{
y+=x*p;
break;
}
}
returny;
}
(5)820c語言程序擴展閱讀
C語言:整數轉換十六進制數和八進制
#include<stdio.h>
voidmain()
{
inti;
printf("請輸入一個十進制數:");
scanf("%d",&i);
printf("這個數轉換為十六進制數:%x ",i);
printf("這個數轉換為八進制數:%o ",i);
getch();
return0;
}
㈥ C語言求助
#include <stdio.h>
main()
{
int i,t,k,count=0;
for (i=100;i<=999;i++)
{
t=0;
k=i;
while(k!=0)
{
t=t+k%10;
k=k/10; //你原先k=k%10。造成死循環了
}
if (t == 10)
{
count++;
printf("%d\n",i);
}
}
printf("%d\n",count);
}
㈦ c語言問題。。。
1、 有如下程序
int func(int a,int b)
{ return(a+b); }
main()
{ int x=2,y=5,z=8,r;
r=func((x-y),z);
printf("%d\n",r); }
該程序的輸出結果是_____C_____。
A) 10 B) 13
C) 5 D) 15
2、 以下函數返回a數組中最小值所在的下標,在劃線處應
填入的是________。
fun( int a[],int n)
{ int i,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]<a[p])_________D______;
return (p); }
A) i=p B) a[p]=a[i]
C) p=j D) p=i
3、 以下說法中正確的是___C_____。
A) C語言程序總是從第一個定義的函數開始執行
B) 在C語言程序中,要調用的函數必須在main()函數中定義
C) C語言程序總是從main()函數開始執行
D) C語言程序中的main()函數必須放在程序的開始部分
4、 下面程序的輸出是___B______。
int m=13;
int fun(int x,int y)
{int m=3;
return(x*y-m); }
main()
{int a=7,b=5;
printf("%d\n",fun(a,b)/m); }
A) 1 B) 2
C) 7 D) 10
5、 以下函數func()的功能是:使具有n個元素的一維數組b的每個元素的值
都增加2,劃線處應填入________。
func(int b[ ],int n)
{ int ;
for(i=0;i<n;i++) ____D______; }
A) b[i++] B) b[i]++
C) b[i+=2] D) b[i]+=2
6、 函數f的功能是:測定字元串的長度,空白處應填入________。
int f(char s[ ])
{ int i=0;
while(s[i]!='\0') i++;
return (____B____); }
main( )
{ printf("%d\n",f("goodbye!")); }
A) i-1 B) i
C) i+1 D) s
7、 如果一個函數位於C程序文件的上部,在該函數體內說明語句後的復合
語句中定義了一個變數,則該變數____B____。
A) 為全局變數,在本程序文件范圍內有效
B) 為局部變數,只在該函數內有效
C) 為局部變數,只在該復合語句中有效
D) 定義無效,為非法變數
8、 對以下程序,正確的說法是___B_____。
sub (char x,char y)
{ int z; z=x%y; return z; }
main( )
{ int g=5,h=3,k;
k=sub(g,h);
printf("%d\n",k); }
A) 實參與其對應的形參類型不一致,程序不能運行
B) 被調函數缺少數據類型說明,程序不能運行
C) 主函數中缺少對被調函數的說明語句,程序不能運行
D) 程序中沒有錯誤,可以正常運行
9、 請讀程序:
#include <stdio.h>
f(in b[ ], int n)
{ int i, r=0;
for(i=0; i<=n; i++) r=r+b[i];
return r; }
main()
{ int x, a[]={ 2,3,4,5,6,7,8,9};
x=f(a, 3);
printf("%d\n",x); }
上面程序的輸出結果是____B____。
A) 20 B) 14
C) 9 D)5
10、 以下敘述中錯誤的是__A______。
A) 在C中,函數中的自動變數可以賦初值,每調用一次,賦一次初值
B) 在C中,在調用函數時,實參和對應形參在類型上只需賦值兼容
C) 在C中,外部變數的隱含類別是自動存儲類別
D) 在C中,函數中的靜態變數可以賦初值,只在編譯時賦一次初值
㈧ 考西安交大軟體工程研究生820科目用專門看c語言嗎我覺得是不是把C語言版的數據結構書復習好就可以
我查了一下...有書單...
http://www.kaoyan001.com/shop/proct/kskmxx-535614.html
裡面推薦2套書籍
820計算機軟體基礎
程序設計與 C 語言(第二版)梁力
西安交大
數據結構(第二版) 嚴慰敏
清華大學
都看一下吧......希望可以幫到你...
㈨ C語言程序題
820除以60等於13餘40,所以執行結果是13:40