C语言 高手来
1、#include
#define N 10
main()
{
int i,j,a[N]={1,3,4,6,7,9,10,14,18};
int number;
scanf("%d",&number);
for(i=0;i<N-1;i++)
if(number<a[i])
break;
for(j=N-2;j>=i;j--)
a[j+1]=a[j];
a[i]=number;
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf("
");
}
2、#include
#define N 5
main()
{
int i,j,a[N]={8,6,5,4,1};
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf("
");
for(i=0;i<=(N-1)/2;i++)
{
int temp;
temp=a[i];
a[i]=a[N-1-i];
a[N-1-i]=temp;
}
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf("
");
}
3、#include
#define N 15
main()
{
int i; //循环变量
int a[N]={30,29,28,26,25,24,20,19,18,15,14,12,10,8,5};
int low=0,up=N-1,middle; //每次查找的区间上下限及区间的中间元素下标
int number;
int flag=0;
scanf("%d",&number);
while(low<=up)
{
middle=(up+low)/2;
if(number<a[middle])
low=middle+1;
else
{
if(number==a[middle])
{
flag=1;
break;
}
else
up=middle-1;
}
}
if(flag==1)
printf("the number is found.It's location is a[%d]
",middle);
else
printf("the number is not found.
");
}
4、#include
#include
main()
{
int i,j;
char string1[80],string2[20];
gets(string1);
gets(string2);
i=0;
while(string1[i]!='\0')
i++;
j=0;
while(string2[j]!='\0')
string1[i++]=string2[j++];
string1[i]='\0';
puts(string1);
}
5、#include
#define N 10
main()
{
int i,j,a[N][N];
for(i=0;i<N;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<N;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<N;i++)
{
for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("
");
}
}
运行结果都是对的,我试过了
关键是找到矩阵排布的规律
也就是区分奇数行和偶数行
#includeint main(){int row = 1,col = 1;while(row != 9){while(col != 9){printf("%2d,", (row - (row % 2 == 1 ? 1 : 0)) * 8 + (col + (row % 2 == 1 ? 0 : -1)) * (row % 2 == 1 ? 1 : -1));//这里是关键!col++;}printf("
");col = 1;row++;}return 0;}
void,表示这个函结束后返回的值是空,就是不用把它的结果传给别人
{}l里面的的东西便是函数,
每个c语句以分号结束,这也是规定,没写一个语句后都要有分号的
#incude<stdio.h>
意思是
包含标准的输入输出函数的头文件,有这个头文件的时候,你才可以用printf和scanf
函数有主函数和普通函数之分,
主函数是一个程序的开始,
也就是说一个程序的是由main函数开始,
普通函数就是像
void
f()
{
printf("我是普通函数\n");
}
普通函数大多数是用来被调用的,
比如你这个代码也可以写成
#include<stdio.h>
void
f()
{
printf("This
is
a
C
program.\n");
}
void
main()
{
f();
//在这里是调用普通函数(
f()
函数)
}
这个代码你可以执行看看,和你的代码一样不一样
意思就是main()是主函数,执行时从这个函数开始,以这个函数结束,在主函数内按顺序执行,以";"表示一个语句的结束,如果你想用输出,输入函数的话就要在main()前调用#include<stdio.h>,如果要用到其它的函数,也同样需要调用或者自己编写函数
#include <stdio.h>
int isj(int m) /*是否为奇数的函数开始*/
{ if(m%2!=0) return 1;/*是奇数返回1*/
else 0; ;/*不是奇数返回0*/
} /*是否为奇数的函数结束*/
void main() /*主函数开始*/
{ int x flag;
printf("请输入一个整数x:");
scanf("%d",&x);
flag=isj(x); /*调用进是否是奇数的函数*/
if(flag) printf("%d是一个奇数\n",x);
else printf("%d不是一个奇数\n",x);
}
#include "stdio.h"
int xvz(int x)
{
if(x%2!=0) return 1;
else return 0;
}
main()
{int x;
printf("请输入一个整数x:");
scanf("%d",&x);
if(xvz(x)) printf("%d是奇数\n",x);
else printf("%d不是奇数\n",x);
getch();
}
乔富口腔: #include <stdio.h> #include <conio.h> int FindMax(int temp[],int len) { int max; max = temp[0]; for(int i=0;i<len;i++) { if(max<temp[i]) { max = temp[i]; } } return max; } main() { int x[] = {10,56,85,74,36,95,0,14,36,98}; int len = sizeof(x)/sizeof(x[0]); printf("数组的最大值为:%d",FindMax(x,len)); getch(); }
乐陵市15389457454: C语言高手来 - ?
乔富口腔: c语言判断一个语句是否结束有两种情况:分号和花括号 ;和} if(x>y)z=x;x=y;y=z; 这行第一个分号表示条件判断语句结束 接下来就执行下面两个赋值语句 即x=y;y=z; 所以结果为20,30,30 if(x>y) {z=x; x=y; y=z; } 这样也许就符合你的目的了
乐陵市15389457454: c语言编程高手来?
乔富口腔: 第一题 #include <stdio.h> void main() { int a[5]={1,3,5,7,9},rlt; int *p; p=a; rlt=*p * *(p+1) * *(p+2) * *(p+3) * *(p+4); printf("乘积为%d",rlt); } 第二题 这个是微软的标准c编译的源码 int __cdecl strcmp (const char *src, const char *dst) { int ret = 0 ; ...
乐陵市15389457454: C语言高手来?
乔富口腔: 1,3,3 第二个if (); else ;语句是包括在第一个if ()语句中的,第一个if语句实际上起到的作用不仅仅是判断,因为括号里b自加了一次,所以b的值等于3,然后条件不成立,直接跳过下面的if (); else ;语句,执行和第一个if语句对于的else语句,输出a,b,c,也就是1,3,3.
乐陵市15389457454: C语言高手来 - ?
乔富口腔: 在输出的时候,在printf里,输出%d加空格,然后引起来.你看看能不能解决你的问题
乐陵市15389457454: c语言高手 来 - ?
乔富口腔: 改为:#include#includeint main( ) {int ri, repeat;float a, b, c, area, perimeter,s;scanf("%d", &repeat);for(ri=1; ri scanf("%f%f%f", &a, &b, &c);s=(a+b+c)/2;if(a+b>c&&a+c>b&&b+c>a){area=sqrt(s*(s-a)*(s-b)*(s-c));perimeter=a+b+c;...
乐陵市15389457454: c语言高手来啊?
乔富口腔: 这个数组的求解好像和C语言没有什么关系啊 如果是限定在数组的值必须为1-9之间而且不重复的话,一个解是 492 357 816 如果一定要写程序求解的话,一个可以完成任务的解法如下(假设数字为自然数而且可以重复) #include<stdio.h> int ...
乐陵市15389457454: c语言高手来看看啊!?
乔富口腔: C语言的注释表示方法是:/*内容*/ 即:/*与*/之间的内容不被执行,只起注释的作用 C++的注释表示方法是://内容 即://后面的都是注释(只算这一行的) 在兼容C和C++的编译器里,两个都可以用. 所以/**,//*,**/中可以构成注释的是//* 注释内容是*
乐陵市15389457454: C语言高手来回答 - ?
乔富口腔: 转换说明及作为结果的打印输出 %a 浮点数、十六进制数字和p-记数法(C99)%A 浮点数、十六进制数字和p-记法(C99)%c 一个字符 %d 有符号十进制整数 %e 浮点数、e-记数法%E 浮点数、E-记数法%f 浮点数、十进制记数法 %g 根据数值不同自动选择%f或%e.%G 根据数值不同自动选择%f或%e.%i 有符号十进制数(与%d相同)%o 无符号八进制整数%p 指针 %s 字符串%u 无符号十进制整数%x 使用十六进制数字0f的无符号十六进制整数 %X 使用十六进制数字0f的无符号十六进制整数%% 打印一个百分号
乐陵市15389457454: C语言高手来!!?
乔富口腔: /** Author: tanyao* Date: 2010.17.07.* Description: ...*/ #include <stdio.h>#include <stdlib.h>#include <math.h> /* cancle thie define,cancle print info*/#define DEBUG typedef struct coordinate{ float x; float y;}xy, *pxy; void get_rand_num( pxy xyp){ ...