c語言經典例題
⑴ 經典c語言程序例子
題目01:在一個已知的字元串中查找最長單詞,假定字元串中只含字母和空格,空格用來分隔不同的單詞。
(1)c語言經典例題擴展閱讀:
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
⑵ 經典C語言編程30例(二)
【程序31】
題目:請輸入星期幾的第一個字母來判斷一下是星期幾,如果第一個字母一樣,則繼續
判斷第二個字母。
1.程序分析:用情況語句比較好,如果第一個字母一樣,則判斷用情況語句或if語句判斷第二個字母。
2.程序源代碼:
#include
void main()
{
char letter;
printf("please input the first letter of someday\n");
while ((letter=getch())!='Y')/*當所按字母為Y時才結束*/
{ switch (letter)
{case 'S':printf("please input second letter\n");
if((letter=getch())=='a')
printf("saturday\n");
else if ((letter=getch())=='u')
printf("sunday\n");
else printf("data error\n");
break;
case 'F':printf("friday\n");break;
case 'M':printf("monday\n");break;
case 'T':printf("please input second letter\n");
if((letter=getch())=='u')
printf("tuesday\n");
else if ((letter=getch())=='h')
printf("thursday\n");
else printf("data error\n");
break;
case 'W':printf("wednesday\n");break;
default: printf("data error\n");
}
}
}
==============================================================
【程序32】
題目:Press any key to change color, do you want to try it. Please hurry up!
1.程序分析:
2.程序源代碼:
#include
void main(void)
{
int color;
for (color = 0; color < 8; color++)
{
textbackground(color);/*設置文本的背景顏色*/
cprintf("This is color %d\r\n", color);
cprintf("Press any key to continue\r\n");
getch();/*輸入字元看不見*/
}
}
==============================================================
【程序33】
題目:學習gotoxy()與clrscr()函數
1.程序分析:
2.程序源代碼:
#include
void main(void)
{
clrscr();/*清屏函數*/
textbackground(2);
gotoxy(1, 5);/*定位函數*/
cprintf("Output at row 5 column 1\n");
textbackground(3);
gotoxy(20, 10);
cprintf("Output at row 10 column 20\n");
}
==============================================================
【程序34】
題目:練習函數調用
1. 程序分析:
2.程序源代碼:
#include
void hello_world(void)
{
printf("Hello, world!\n");
}
void three_hellos(void)
{
int counter;
for (counter = 1; counter <= 3; counter++)
hello_world();/*調用此函數*/
}
void main(void)
{
three_hellos();/*調用此函數*/
}
==============================================================
【程序35】
題目:文本顏色設置
1.程序分析:
2.程序源代碼:
#include
void main(void)
{
int color;
for (color = 1; color < 16; color++)
{
textcolor(color);/*設置文本顏色*/
cprintf("This is color %d\r\n", color);
}
textcolor(128 + 15);
cprintf("This is blinking\r\n");
}
==============================================================
【程序36】
題目:求100之內的素數
1.程序分析:
2.程序源代碼:
#include
#include "math.h"
#define N 101
main()
{
int i,j,line,a[N];
for(i=2;ifor(i=2;i for(j=i+1;j {
if(a[i]!=0&&a[j]!=0)
if(a[j]%a[i]==0)
a[j]=0;}
printf("\n");
for(i=2,line=0;i{
if(a[i]!=0)
{printf("]",a[i]);
line++;}
if(line==10)
{printf("\n");
line=0;}
}
}
==============================================================
【程序37】
題目:對10個數進行排序
1.程序分析:可以利用選擇法,即從後9個比較過程中,選擇一個最小的與第一個元素交換,
下次類推,即用第二個元素與後8個進行比較,並進行交換。
2.程序源代碼:
#define N 10
main()
{int i,j,min,tem,a[N];
/*input data*/
printf("please input ten num:\n");
for(i=0;i{
printf("a[%d]=",i);
scanf("%d",&a[i]);}
printf("\n");
for(i=0;iprintf("]",a[i]);
printf("\n");
/*sort ten num*/
for(i=0;i{min=i;
for(j=i+1;jif(a[min]>a[j]) min=j;
tem=a[i];
a[i]=a[min];
a[min]=tem;
}
/*output data*/
printf("After sorted \n");
for(i=0;iprintf("]",a[i]);
}
==============================================================
【程序38】
題目:求一個3*3矩陣對角線元素之和
1.程序分析:利用雙重for循環控制輸入二維數組,再將a[i][i]累加後輸出。
2.程序源代碼:
main()
{
float a[3][3],sum=0;
int i,j;
printf("please input rectangle element:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("ijiaoxian he is %6.2f",sum);
}
==============================================================
【程序39】
題目:有一個已經排好序的數組。現輸入一個數,要求按原來的規律將它插入數組中。
1. 程序分析:首先判斷此數是否大於最後一個數,然後再考慮插入中間的數的情況,插入後
此元素之後的數,依次後移一個位置。
2.程序源代碼:
main()
{
int a[11]={1,4,6,9,13,16,19,28,40,100};
int temp1,temp2,number,end,i,j;
printf("original array is:\n");
for(i=0;i<10;i++)
printf("]",a[i]);
printf("\n");
printf("insert a new number:");
scanf("%d",&number);
end=a[9];
if(number>end)
a[10]=number;
else
{for(i=0;i<10;i++)
{ if(a[i]>number)
{temp1=a[i];
a[i]=number;
for(j=i+1;j<11;j++)
{temp2=a[j];
a[j]=temp1;
temp1=temp2;
}
break;
}
}
}
for(i=0;i<11;i++)
printf("m",a[i]);
}
==============================================================
【程序40】
題目:將一個數組逆序輸出。
1.程序分析:用第一個與最後一個交換。
2.程序源代碼:
#define N 5
main()
{ int a[N]={9,6,5,4,1},i,temp;
printf("\n original array:\n");
for(i=0;i printf("M",a[i]);
for(i=0;i {temp=a[i];
a[i]=a[N-i-1];
a[N-i-1]=temp;
}
printf("\n sorted array:\n");
for(i=0;i printf("M",a[i]);
}
【程序41】
題目:學習static定義靜態變數的用法
1.程序分析:
2.程序源代碼:
#include "stdio.h"
varfunc()
{
int var=0;
static int static_var=0;
printf("\40:var equal %d \n",var);
printf("\40:static var equal %d \n",static_var);
printf("\n");
var++;
static_var++;
}
void main()
{int i;
for(i=0;i<3;i++)
varfunc();
}
==============================================================
【程序42】
題目:學習使用auto定義變數的用法
1.程序分析:
2.程序源代碼:
#include "stdio.h"
main()
{int i,num;
num=2;
for (i=0;i<3;i++)
{ printf("\40: The num equal %d \n",num);
num++;
{
auto int num=1;
printf("\40: The internal block num equal %d \n",num);
num++;
}
}
}
==============================================================
【程序43】
題目:學習使用static的另一用法。
1.程序分析:
2.程序源代碼:
#include "stdio.h"
main()
{
int i,num;
num=2;
for(i=0;i<3;i++)
{
printf("\40: The num equal %d \n",num);
num++;
{
static int num=1;
printf("\40:The internal block num equal %d\n",num);
num++;
}
}
}
==============================================================
【程序44】
題目:學習使用external的用法。
1.程序分析:
2.程序源代碼:
#include "stdio.h"
int a,b,c;
void add()
{ int a;
a=3;
c=a+b;
}
void main()
{ a=b=4;
add();
printf("The value of c is equal to %d\n",c);
}
==============================================================
【程序45】
題目:學習使用register定義變數的方法。
1.程序分析:
2.程序源代碼:
void main()
{
register int i;
int tmp=0;
for(i=1;i<=100;i++)
tmp+=i;
printf("The sum is %d\n",tmp);
}
==============================================================
【程序46】
題目:宏#define命令練習(1)
1.程序分析:
2.程序源代碼:
#include "stdio.h"
#define TRUE 1
#define FALSE 0
#define SQ(x) (x)*(x)
void main()
{
int num;
int again=1;
printf("\40: Program will stop if input value less than 50.\n");
while(again)
{
printf("\40:Please input number==>");
scanf("%d",&num);
printf("\40:The square for this number is %d \n",SQ(num));
if(num>=50)
again=TRUE;
else
again=FALSE;
}
}
==============================================================
【程序47】
題目:宏#define命令練習(2)
1.程序分析:
2.程序源代碼:
#include "stdio.h"
#define exchange(a,b) { \ /*宏定義中允許包含兩道衣裳命令的情形,此時必須在最右邊加上"\"*/
int t;\
t=a;\
a=b;\
b=t;\
}
void main(void)
{
int x=10;
int y=20;
printf("x=%d; y=%d\n",x,y);
exchange(x,y);
printf("x=%d; y=%d\n",x,y);
}
==============================================================
【程序48】
題目:宏#define命令練習(3)
1.程序分析:
2.程序源代碼:
#define LAG >
#define SMA <
#define EQ ==
#include "stdio.h"
void main()
{ int i=10;
int j=20;
if(i LAG j)
printf("\40: %d larger than %d \n",i,j);
else if(i EQ j)
printf("\40: %d equal to %d \n",i,j);
else if(i SMA j)
printf("\40:%d smaller than %d \n",i,j);
else
printf("\40: No such value.\n");
}
==============================================================
【程序49】
題目:#if #ifdef和#ifndef的綜合應用。
1. 程序分析:
2.程序源代碼:
#include "stdio.h"
#define MAX
#define MAXIMUM(x,y) (x>y)?x:y
#define MINIMUM(x,y) (x>y)?y:x
void main()
{ int a=10,b=20;
#ifdef MAX
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#else
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#endif
#ifndef MIN
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#else
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#endif
#undef MAX
#ifdef MAX
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#else
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#endif
#define MIN
#ifndef MIN
printf("\40: The lower one is %d\n",MINIMUM(a,b));
#else
printf("\40: The larger one is %d\n",MAXIMUM(a,b));
#endif
}
==============================================================
【程序50】
題目:#include 的應用練習
1.程序分析:
2.程序源代碼:
test.h 文件如下:
#define LAG >
#define SMA <
#define EQ ==
#include "test.h" /*一個新文件50.c,包含test.h*/
#include "stdio.h"
void main()
{ int i=10;
int j=20;
if(i LAG j)
printf("\40: %d larger than %d \n",i,j);
else if(i EQ j)
printf("\40: %d equal to %d \n",i,j);
else if(i SMA j)
printf("\40:%d smaller than %d \n",i,j);
else
printf("\40: No such value.\n");
}
【程序51】
題目:學習使用按位與 & 。
1.程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
2.程序源代碼:
#include "stdio.h"
main()
{
int a,b;
a=077;
b=a&3;
printf("\40: The a & b(decimal) is %d \n",b);
b&=7;
printf("\40: The a & b(decimal) is %d \n",b);
}
==============================================================
【程序52】
題目:學習使用按位或 | 。
1.程序分析:0|0=0; 0|1=1; 1|0=1; 1|1=1
2.程序源代碼:
#include "stdio.h"
main()
{
int a,b;
a=077;
b=a|3;
printf("\40: The a & b(decimal) is %d \n",b);
b|=7;
printf("\40: The a & b(decimal) is %d \n",b);
}
==============================================================
【程序53】
題目:學習使用按位異或 ^ 。
1.程序分析:0^0=0; 0^1=1; 1^0=1; 1^1=0
2.程序源代碼:
#include "stdio.h"
main()
{
int a,b;
a=077;
b=a^3;
printf("\40: The a & b(decimal) is %d \n",b);
b^=7;
printf("\40: The a & b(decimal) is %d \n",b);
}
==============================================================
【程序54】
題目:取一個整數a從右端開始的4~7位。
程序分析:可以這樣考慮:
(1)先使a右移4位。
(2)設置一個低4位全為1,其餘全為0的數。可用~(~0<<4)
(3)將上面二者進行&運算。
2.程序源代碼:
main()
{
unsigned a,b,c,d;
scanf("%o",&a);
b=a>>4;
c=~(~0<<4);
d=b&c;
printf("%o\n%o\n",a,d);
}
==============================================================
【程序55】
題目:學習使用按位取反~。
1.程序分析:~0=1; ~1=0;
2.程序源代碼:
#include "stdio.h"
main()
{
int a,b;
a=234;
b=~a;
printf("\40: The a's 1 complement(decimal) is %d \n",b);
a=~a;
printf("\40: The a's 1 complement(hexidecimal) is %x \n",a);
}
==============================================================
【程序56】
題目:畫圖,學用circle畫圓形。
1.程序分析:
2.程序源代碼:
/*circle*/
#include "graphics.h"
main()
{int driver,mode,i;
float j=1,k=1;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
for(i=0;i<=25;i++)
{
setcolor(8);
circle(310,250,k);
k=k+j;
j=j+0.3;
}
}
==============================================================
【程序57】
題目:畫圖,學用line畫直線。
1.程序分析:
2.程序源代碼:
#include "graphics.h"
main()
{int driver,mode,i;
float x0,y0,y1,x1;
float j=12,k;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(GREEN);
x0=263;y0=263;y1=275;x1=275;
for(i=0;i<=18;i++)
{
setcolor(5);
line(x0,y0,x0,y1);
x0=x0-5;
y0=y0-5;
x1=x1+5;
y1=y1+5;
j=j+10;
}
x0=263;y1=275;y0=263;
for(i=0;i<=20;i++)
{
setcolor(5);
line(x0,y0,x0,y1);
x0=x0+5;
y0=y0+5;
y1=y1-5;
}
}
==============================================================
【程序58】
題目:畫圖,學用rectangle畫方形。
1.程序分析:利用for循環控制100-999個數,每個數分解出個位,十位,百位。
2.程序源代碼:
#include "graphics.h"
main()
{int x0,y0,y1,x1,driver,mode,i;
driver=VGA;mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
x0=263;y0=263;y1=275;x1=275;
for(i=0;i<=18;i++)
{
setcolor(1);
rectangle(x0,y0,x1,y1);
x0=x0-5;
y0=y0-5;
x1=x1+5;
y1=y1+5;
}
settextstyle(DEFAULT_FONT,HORIZ_DIR,2);
outtextxy(150,40,"How beautiful it is!");
line(130,60,480,60);
setcolor(2);
circle(269,269,137);
}
==============================================================
【程序59】
題目:畫圖,綜合例子。
1.程序分析:
2.程序源代碼:
# define PAI 3.1415926
# define B 0.809
# include "graphics.h"
#include "math.h"
main()
{
int i,j,k,x0,y0,x,y,driver,mode;
float a;
driver=CGA;mode=CGAC0;
initgraph(&driver,&mode,"");
setcolor(3);
setbkcolor(GREEN);
x0=150;y0=100;
circle(x0,y0,10);
circle(x0,y0,20);
circle(x0,y0,50);
for(i=0;i<16;i++)
{
a=(2*PAI/16)*i;
x=ceil(x0+48*cos(a));
y=ceil(y0+48*sin(a)*B);
setcolor(2); line(x0,y0,x,y);}
setcolor(3);circle(x0,y0,60);
/* Make 0 time normal size letters */
settextstyle(DEFAULT_FONT,HORIZ_DIR,0);
outtextxy(10,170,"press a key");
getch();
setfillstyle(HATCH_FILL,YELLOW);
floodfill(202,100,WHITE);
getch();
for(k=0;k<=500;k++)
{
setcolor(3);
for(i=0;i<=16;i++)
{
a=(2*PAI/16)*i+(2*PAI/180)*k;
x=ceil(x0+48*cos(a));
y=ceil(y0+48+sin(a)*B);
setcolor(2); line(x0,y0,x,y);
}
for(j=1;j<=50;j++)
{
a=(2*PAI/16)*i+(2*PAI/180)*k-1;
x=ceil(x0+48*cos(a));
y=ceil(y0+48*sin(a)*B);
line(x0,y0,x,y);
}
}
restorecrtmode();
}
==============================================================
【程序60】
題目:畫圖,綜合例子。
1.程序分析:
2.程序源代碼:
#include "graphics.h"
#define LEFT 0
#define TOP 0
#define RIGHT 639
#define BOTTOM 479
#define LINES 400
#define MAXCOLOR 15
main()
{
int driver,mode,error;
int x1,y1;
int x2,y2;
int dx1,dy1,dx2,dy2,i=1;
int count=0;
int color=0;
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,"");
x1=x2=y1=y2=10;
dx1=dy1=2;
dx2=dy2=3;
while(!kbhit())
{
line(x1,y1,x2,y2);
x1+=dx1;y1+=dy1;
x2+=dx2;y2+dy2;
if(x1<=LEFT||x1>=RIGHT)
dx1=-dx1;
if(y1<=TOP||y1>=BOTTOM)
dy1=-dy1;
if(x2<=LEFT||x2>=RIGHT)
dx2=-dx2;
if(y2<=TOP||y2>=BOTTOM)
dy2=-dy2;
if(++count>LINES)
{
setcolor(color);
color=(color>=MAXCOLOR)?0:++color;
}
}
closegraph();
}
⑶ c語言經典面試題
CString SaveLog(char *fmt ,...)
{
va_list marker;
va_start( marker, fmt );
char buf[1024] = {0};
vsprintf(buf,fmt,marker);
va_end( marker );
CString sLog;
sLog.Format("%s\n", tNow.Format("[%Y-%m-%d %H:%M:%S]"), buf);
return sLog;
}
調用:SaveLog( "%s %s %s.[%s]", strFileName, sFound, strVirus, sKilledEng);
給你個例子吧。
不過這個例子是VC的,不知道C下面能不能跑
⑷ C語言程序題
您好,可以給你一個簡陋版的參考,你需要自己對時間進行一下處理,這里這是顯示分鍾,你需要把它轉換成幾點幾分。
#include"stdio.h"
#define CLASS_NUM 5
#define CLASS_TOTAL_PERSON 50
#define EVERYONE_USE_MINUTE 2
int main(int argc, char **argv){
int class_num;
int order_no;
int start_time;
int i;
printf("請輸入班級數量:");
scanf("%d",&class_num);
printf("請輸入班級編號:");
scanf("%d", &order_no);
printf("請輸入檢查開始時間:");
scanf("%d", &start_time);
for(i=0;i<order_no;i++){
start_time += order_no *CLASS_TOTAL_PERSON * EVERYONE_USE_MINUTE;
}
printf("該班級檢查的開始時間是:%d ", start_time);
printf("該班級檢查的結束時間是:%d ", start_time + CLASS_TOTAL_PERSON*EVERYONE_USE_MINUTE);
return 0;
}
⑸ 收集各類貪心演算法(C語言編程)經典題目
舉個例子,假如你買東西,老闆需要找給你99分錢,他有上面面值分別為25分,10分,5分,1分的硬幣(都是假如,不符合實際),他得找你3個25分,2個10分的,4個1分的才為最佳方案!
用貪心演算法編寫程序實現!
main()
{
int
i,a[5],b[4],c[4];
/*
define
the
type
of
the
money*/
a[1]=25;
a[2]=10;
a[3]=5;
a[4]=1;
printf("please
input
you
money
(fen):\n");
scanf("%d",&b[0]);
for
(i=1;i<=4;i++)
{
b[i]=b[i-1]%a[i];
/*take
n
25
off
and
money
left*/
c[i]=(b[i-1]-b[i])/a[i];
/*
n
*/
printf("%d
is
%d\n",a[i],c[i]);
}
getch();
}
⑹ C語言選擇題及答案
選擇題
1.在深度為5的滿二叉樹葉中,葉子結點的個數為( )。
A.32
B.31
C.16
D.15
2.軟體生命周期中,花費最多的階段是( )。
A.詳細設計
B.軟體編碼
C.軟體測試
D.軟體維護
3.視圖設計一般有3種設計次序,下列不屬於視圖設計次序的是( )。
A.自頂而下
B.由內向外
C.由外向內
D.自底向上
4.下列數據結構中,能用二分法進行查找的是( )。
A.順序存儲的有序線性表
B.結性鏈表
C.二叉鏈表
D.有序線性鏈表
5.以下敘述中錯誤的是( )。
A.對於double類型數組,不可以直接用數組名對數組進行整體輸入或輸出
B.數組名代表的是數組所佔存儲區的首地址,其值不可改變
C.當程序執行中,數組元素的下標超出所定義的下標范圍時,系統將給出“下標越界”的出錯信息
D.可以通過賦初值的方式確定數組元素的個數
6.以下只有在使用時才為該類型變數分配內存的存儲類型說明是( )。
A.auto和static
B.auto和register
C.register和static
D.extern和register
7.下列可作為C語言賦值的語句的是( )。
A.x一3,y=5
B.a=b=6
C.i--;
D.a,c
8.若整型變數a、b、c、d中的值依次為2、2、3、4,則條件表達式aA.1
B.2
C.3
D.4
9.下列敘述中錯誤的是( )。
A.線性表是由n個元素組成的一個有限序列
B.線性表是一種線性結構
C.線性表的所有結點有且僅有一個前件和後件
D.線性表可以是空表
10.以下程序執行後sum的值是( )。
main()
{ int i,sum;
for(i=1;i<6;i++)sum+=i:
printf("1%d ",sum):
}
A.15
B.14
C.不確定
D.0
11.設j為Int型變數,則下面for循環語句的執行結果是( )。
for(j=10;j>3;j--)
{ if(j%3)j--;
--j;--j;
printf("%d",j);
}
A.6 3
B.7 4
C.6 2
D.7 3
12.表示關系X<=Y<=Z的C語言表達式為( )。
A.(X<=Y)&&(Y<=Z)
B.(X<=Y)AND(Y<=Z)
C.(X<=Y<=Z)
D.(X<一Y)&(Y<一Z)
13.設有如下定義:
int arr[]={6,7,8,9,10);
int*ptr:
ptr=arr;
*(ptr2)=2;
printf("%d,%d ",*ptr,*(ptr2)):
則下列程序段的輸出結果為( )。
A.8,10
B.6,8
C.7,9
D.6,2
14.設有定義語句:
int x[-6]={2,4,6,8,5,7),*p=X,i;
要求依次輸出X數組6個元素中的值,不能完成此操作的語句是( )。
A.for(i=0;i<6;i++)printf("%2d",*(p++));
B.for(i=0;i<6;i++)printf("%2d",*(pq-i));
C.for(i=0;i<6;i++)printf("%2d",*p++);
D.for(i=0;i<6;i++)printf("%2d",*(p)++);
15.數字字元0的ASCII值為48,運行以下程序的輸出結果是( )。
main()
( char a=’1’,b=’2’;
printf("%C,",b++);printf("%d ",b—a);}
A.3,2
B.50,2
C.2,2
D.2,50
16.設有如下定義:
int(*ptr)();
則以下敘述中正確的是( )。
A.ptr是指向一維組數的指針變數
B.ptr是指向int型數據的指針變數
C.ptr是指向函數的指針,該函數返回一個int型數據
D.ptr是一個函數名,該函數的返回值是指int型數據的指針
17.設有定義的語句:“char c1=92,c2=92;”,則以下表達式中的值為零的是( )。
A.c1^c2
B.c1&c2
C.~c2
D.c1 | c2
18.以下程序的輸出結果是( )。
void fun(int*a,int i,int i)
{int t;
if(i { t=a[i[;a[i]=a[j];a[j]一t;
i++;j--;
fun(a,i,j);
}
}
main()
{ int K[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<1;i++)printf("%2d",x[i]);
printf(" ");
}
A.1,2,6,8
B.8,6,2,1
C.8,1,6,2
D.8,6,1,2
19.有以下程序:
main()
{int i,j;
for(j=10;j<11;j++)
{ for(i=9;i if(!(j%i))break;
if(i==j-1)
printf("%d",j);
}
}
輸出結果是( )。
A.11
B.10
C.9
D.10 11
11.設j為Int型變數,則下面for循環語句的執行結果是( )。
for(j=10;j>3;j--)
{ if(j%3)j--;
--j;--j;
printf("%d",j);
}
A.6 3
B.7 4
C.6 2
D.7 3
12.表示關系X<=Y<=Z的C語言表達式為( )。
A.(X<=Y)&&(Y<=Z)
B.(X<=Y)AND(Y<=Z)
C.(X<=Y<=Z)
D.(X<一Y)&(Y<一Z)
13.設有如下定義:
int arr[]={6,7,8,9,10);
int*ptr:
ptr=arr;
*(ptr2)=2;
printf("%d,%d ",*ptr,*(ptr2)):
則下列程序段的輸出結果為( )。
A.8,10
B.6,8
C.7,9
D.6,2
14.設有定義語句:
int x[-6]={2,4,6,8,5,7),*p=X,i;
要求依次輸出X數組6個元素中的值,不能完成此操作的語句是( )。
A.for(i=0;i<6;i++)printf("%2d",*(p++));
B.for(i=0;i<6;i++)printf("%2d",*(pq-i));
C.for(i=0;i<6;i++)printf("%2d",*p++);
D.for(i=0;i<6;i++)printf("%2d",*(p)++);
15.數字字元0的ASCII值為48,運行以下程序的輸出結果是( )。
main()
( char a=’1’,b=’2’;
printf("%C,",b++);printf("%d ",b—a);}
A.3,2
B.50,2
C.2,2
D.2,50
16.設有如下定義:
int(*ptr)();
則以下敘述中正確的是( )。
A.ptr是指向一維組數的指針變數
B.ptr是指向int型數據的指針變數
C.ptr是指向函數的指針,該函數返回一個int型數據
D.ptr是一個函數名,該函數的返回值是指int型數據的指針
17.設有定義的語句:“char c1=92,c2=92;”,則以下表達式中的值為零的是( )。
A.c1^c2
B.c1&c2
C.~c2
D.c1 | c2
18.以下程序的輸出結果是( )。
void fun(int*a,int i,int i)
{int t;
if(i { t=a[i[;a[i]=a[j];a[j]一t;
i++;j--;
fun(a,i,j);
}
}
main()
{ int K[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<1;i++)printf("%2d",x[i]);
printf(" ");
}
A.1,2,6,8
B.8,6,2,1
C.8,1,6,2
D.8,6,1,2
19.有以下程序:
main()
{int i,j;
for(j=10;j<11;j++)
{ for(i=9;i if(!(j%i))break;
if(i==j-1)
printf("%d",j);
}
}
輸出結果是( )。
A.11
B.10
C.9
D.10 11
20.有以下程序.
#include
main()
{ char c1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar(); c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c ",c5,c6);
}
程序運行後,若從鍵盤輸入(從第l列開始)
123<回車>
45678<回車>
則輸出結果是( )。
A.1267
B.1256
C.1278
D.1245
⑺ 急求教:C語言的一個經典例題
//(int)s/500,主要演算法思想
#include<stdio.h>
int main()
{
float s,sum=0;
printf("輸入工資數:");
scanf("%f",&s);
switch((int)s/500)
{
case 0:sum=s;break;
case 1:sum=s*0.95;break;
case 2:
case 3:sum=s*0.92;break;
case 4:
case 5:sum=s*0.90;break;
case 6:sum=s*0.85;break;
default:sum=s*0.85;
}
printf("實發工資數:%.2f\n",sum);
return 0;
}
/*
我試了兩次,僅供參考:
輸入工資數:4000
實發工資數:3400.00
輸入工資數:2500
實發工資數:2250.00
至於輸入工資到實發工資的公式可以根據題意寫出來,可能跟yanh0606寫的公式差不多
*/
⑻ C語言經典100例問題,取一個整數a從右端開始的4~7位,求助,高分!
移位操作是按二進制算的, 右移 一下相當於除2,左移乘2,說以10進制的不能通過移位實現取位,2,8,16進制的都可以哦。
不過還是有辦法,就是用16進制變數存你的10進制變數,然後按16進制移位取位,最後按16進制輸出,可達到你想要的效果哦~
我要上課去了,如代碼還是寫不出來,追問一下,我回來幫你寫個
⑼ 關於c語言遞歸調用的經典例題,求跪大神詳解 !
這是漢諾塔吧。
原理:(總共n個盤子)
1、將第一個位置(起始位置)上的n-1個盤子移到第二個位置上,此時第一個位置只剩第n個盤子
2、將第一個位置上的最後一個盤子(第n個盤子)移到第三個位置(目標位置)上,再將第二個位置上的n-1個盤子移到第三個位置上。
你不需要曉得n-1個盤子如何從一個位置移到另一個位置,讓程序做。n-->n-1-->n-2......1,問題不斷的小化,當n=1時,直接從第一個位置移到第三個位置,再倒過來推1-->2-->3......-->n。最終問題就會被解決。
hanoi()函數就是將問題小化,使n-->1
move()函數中char x是起始位置,char y是目標位置,即x-->y.用A、B、C來顯示盤子是如何移動的