求C语言解题(急需)!!!
(1)
#include
#include
void dubble_sort(char (*p)[50], int n)
{
int i, j, pos;
for(i=0;i<n;i++)
{
pos=i;
for(j=i+1;j 0) pos = j;
if(i != j)
{
char t[50];
strcpy(t, p[i]);
strcpy(p[i], p[pos]);
strcpy(p[pos], t);
}
}
}
void print(char (*p)[50], int n)
{
int i;
for(i=0;i<n;i++) printf("%s
", p[i]);
}
int main()
{
char str1[5][50] = {"that", "this", "dog", "cat", "pig"};
dubble_sort(str1, 5);
print(str1, 5);
}
(2)
#include
#include
void dubble_sort(char *p[], int n)
{
int i, j, pos;
for(i=0;i<n;i++)
{
pos=i;
for(j=i+1;j 0) pos = j;
if(i != j)
{
char * t;
t=p[i];
p[i]=p[pos];
p[pos]=t;
}
}
}
void print(char *p[], int n)
{
int i;
for(i=0;i<n;i++) printf("%s
", p[i]);
}
int main()
{
char *str1[5] = {"that", "this", "dog", "cat", "pig"};
dubble_sort(str1, 5);
print(str1, 5);
}
(3)
#include
#include
#include
#define N 10
#define M 10
void Max_pos(int array[][N], int m, int * prow, int * pcol)
{
int i, j;
*prow = *pcol = 0;
for(i=0;i<m;i++)
{
for(j=0;j<N;j++)
{
if(array[*prow][*pcol] < array[i][j])
{
*prow = i;
*pcol = j;
}
}
}
}
int main()
{
int i, j;
int row, col;
int array[M][N];
srand(time(NULL));
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
array[i][j] = rand() & 0x3FF;
printf("%5d ", array[i][j]);
}
printf("
");
}
Max_pos(array, M, &row, &col);
printf("最大值出现在%d行%d列,数值为%d
", row+1, col+1, array[row][col]);
return 0;
}
#include #include #define BLANK -1int matrix[128][128];int N,N2;void snake(int i,int j,char direction,int val){ matrix[i][j]=val; if(val>=N2) return; switch(direction){ case 'R': if(j+10&&matrix[i][j-1]==BLANK){ matrix[i][j-1]=val+1; snake(i,j-1,'L',val+1); }else{ snake(i,j,'U',val); } break; case 'U': if(i>0&&matrix[i-1][j]==BLANK){ matrix[i-1][j]=val+1; snake(i-1,j,'U',val+1); }else{ snake(i,j,'R',val); } break; case 'D': if(i+1<N&&matrix[i+1][j]==BLANK){ matrix[i+1][j]=val+1; snake(i+1,j,'D',val+1); }else{ snake(i,j,'L',val); } break; default: printf("bad direction!
"); }}int main(){ int i,j; scanf("%d",&N); while(N!=-1){ N2=N*N; for(i=0;i<N;i++){ for(j=0;j<N;j++){ matrix[i][j]=BLANK; } } matrix[0][0]=1; snake(0,0,'R',1); for(i=0;i<N;i++){ for(j=0;j<N;j++){ printf("%d",matrix[i][j]); if(j!=N-1) printf(" "); } printf("
"); } scanf("%d",&N); } return 0;}
//strcat函数实现
#include <stdio.h>
#include <assert.h>
char *strcata(char *strDest,const char *strScr)
{
char * address = strDest;
assert((strDest != NULL) && (strScr != NULL));
while(*strDest)
{
strDest++;
}
while(*strDest++ = *strScr++)
{
NULL;
}
return address;
}
void main()
{
char str1[100]={"i love"};
char str2[50]={"China"};
printf("%s/n",strcata(str1,str2));
}
//strcpy函数
#include <stdio.h>
#include <assert.h>
char *strcpya(char *strDest, const char *strScr)
{
char *address = strDest;
assert((strDest != NULL) && (strScr != NULL));
while(*strScr)
{
*strDest++ = *strScr++;
}
*strDest = '/0';
return address;
}
void main()
{
char str1[100]={"i love"};
char str2[50]={"China"};
printf("%s/n",strcpya(str1,str2));
}
//trcmp函数
#include <stdio.h>
#include <assert.h>
int strcmpa (const char *str1,const char *str2)
{
int len = 0;
assert((str1 != '/0') && (str2 != '/0'));
while(*str1 && *str2 && (*str1==*str2))
{
str1++;
str2++;
}
return *str1-*str2;
}
void main()
{
char str1[100] = {"i love"};
char str2[50] = {"China "};
printf("%d/n",strcmpa(str1,str2));
}
//strlen函数
#include <stdio.h>
#include <assert.h>
int strlena(const char *str)
{
int len = 0;
assert(str != NULL);
while(*str++)
{
len++;
}
return len;
}
void main()
{
char str1[100] = {"i love"};
char str2[50] = {"China "};
printf("%d/n",strlena(str1));
}
void strcpy(char *s, char *t)
{
while ((*s++ = *t++) != '\0')
;
}
新手求解c语言一道题
\/\/解题思路:距离上一次做题已经一星期了,主要是因为题做不下去了,基础太弱,稍微复杂点的算法题就做不出来了,由于心比较浮躁,算法也看不懂。。。要时刻提醒自己:保持一颗平静的心!!这个题里面的输出说:表示重新排列后,ki在里面的位置,让我误以为每取一次后面的数字都得减1!!!然后提交两...
C语言问题,大家帮个忙谢谢
解题思路(不考虑负数):根据数字大小判断是几位数。如果输入的是 0,则是 1 位数,正序、逆序都为 0。如果不是0,可以根据该数是几位数进行循环输出。这里提供了一种扩展性较强的算法,可以参考。代码中,k = 1000 表示当该数是 4 位数,然后通过循环来缩减 k 的值,从而从高到低输出每一位...
c语言,求详细解题
a \\x44 \\\\ a b c d \\101 b 长度 9
请教一道C语言解题过程?
include <stdio.h> void main(){ int i ,n=0;for(i=2;i<5;i++){ do { if (i%3)continue;n++;} while(!i);n++;printf("n=%d\\n",n);} } \/ 第一次for循环 循环从2开始。首先执行do里边的内容。当i不是3的倍数的时候则直接进行下一次循环,此时2%3=2,所以执行continue直接...
C语言 入门题 求解
> 12)h = h - 12;} else str = "AM";printf("%d:%d%s\\n",h,m,str);} 23. .输入一个百分制成绩,输出相应的五级制成绩。百分制成绩与五级制成绩之间的转换标准为:90分以上为A,80-89分为B,70-79分为C,60-69分为D,60以下为E。例1:输入 :95 输出:A 例2:输入:63 ...
C语言基础题,求解!要求详细解题步骤,
答案是c 用单引号的是字符,用双引号的是字符串 A中单引号内有两个字符,但字符型变量只能存放一个字符。B,D是字符串 C正确是按照ASCII存储的
C语言题,来解,在线等详细解题
include <stdio.h>int main(){ int a[5]; int *pa; int i; for (i = 0; i < 5; i++) { a[i] = i + 1; \/\/对数组a赋值 结果为{1, 2, 3, 4, 5} } pa = a; \/\/pa指向数组a的首元素地址 \/\/pa + i即指针偏移i*sizeof(int)字节,i = 0,不偏移...
c语言求解题过程,非常感谢
double x1, x2;x1=3\/2; \/\/ 3\/2 两边都是 int,所以结果是 int的,右边的值为 1, x1=(double)1; 即 x1=1.0 x2=x1\/2; \/\/ 1.0\/2 两个操作数其中一个是double,所以结果是 double的 ,计算结果 x2= 0.5 printf("%d,%.1f", (int)x1, x2) ; \/\/以整型显示 ...
求一道C语言程序题的答案与解题过程?
如果是int型,表示的是一个数字。一般直接赋十进制的值,如果写成020,就是开头是0,表示为八进制,如果开头为0x,表示为十六进制。不管是什么进制的数,在计算机里面都转成二进制数了。如果是char型,表示的是一个字符。而字符在计算机里面存储的时候是按ASCII码存的,它也是用二进制数存的。由于...
用C语言编写:4根水管A,B,C,D向一个水池注水,
以下是用C语言编写的解题代码,其中假设水池的容量为1:c include <stdio.h> int main() { float a = 1, b = 0, c = 0, d = 0; \/\/ 初始化每根水管注水的速率 int days = 0; \/\/ 初始化注水天数 while (a + b + c + d < 1) { \/\/ 水池没注满时循环 days++; \/\/ 天数加...
当涂凤一舒: 1 2 3 4 5 6 7 8 9 10 11#include <stdio.h> voidmain(){ inti,m,n,num=0,a[1000]; scanf("%d%d",&m,&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); if(m>a[i]) num++; } printf("诸葛亮最多可以战胜%d个对手",num); }
延庆县18598066314: 高分急求!C语言编程问题,求高手解答 - ?
当涂凤一舒: 1、首先第四行是定义的一个子函数,在主函数内部定义的所以后面要加分号2、设定abc三个变量是题目所需,因为比较大小两个数来比较第三个变量来保存比较结果,你也可以设定两个变量,把比较结果保存到输入值中不过就会覆盖原来的值3、Z是一个子函数变量,设定在主函数中在子函数不能使用,z的生存期只有在那个max函数中才会分配内存空间4、第18行没有出来,第16行倒是可以给你解释哈,在16行他是返回比较值保存在z当中的然后在第7行那个c就会接收到max的比较结果
延庆县18598066314: 急求C语言解题,急,急,急 - ?
当涂凤一舒: 第一个:#include<math.h>#include<stdio.h> int main() { int a,min=1000,max=0; scanf("%d",&a); while(a>=0) { if(min>a) min=a; if(max<a) max=a; scanf("%d",&a); } printf("max=%d\tmin=%d\n",max,min); while(1); return 0; } 第二个:#...
延庆县18598066314: 急求C语言题目解答?
当涂凤一舒: #include<stdio.h>void main(){ int row1,row2,col1,col2,r1,c1,r2,c2; int i,j,k; int a1[10][10],a2[10][10],a[10][10]; char ch; printf("-----------------------------------\n"); printf("欢迎使用矩阵相乘器!\n"); do { printf("-----------------------------------\n"); printf(...
延庆县18598066314: 急求一道C语言题的解法过程…1+1/(1+1/(1+1/X))就是用具体步骤写出来…谢谢了补充一下X=5.0求Y(那个式子) - ?
当涂凤一舒:[答案] 这样就可以了 #include #define x 5 int main() { int i; double y=1.0/x; for(i=x-1;i>0;i--)y=1.0/(1+y); printf("y=%lf\n",y); return 0; }
延庆县18598066314: 求C语言练习题答案,这几个题我不确定,拜托明白的帮忙看下!急用的,最好能解释一下9. 设int a[10];则对a数组元素的错误引用是( ) A.a[5] B.*(a+1) ... - ?
当涂凤一舒:[答案] 9.设int a[10];则对a数组元素的错误引用是( ) A.a[5] B.*(a+1) C.a[10-10] D.a(5) D是错误的,因为a是数组,不是函数. 11.... 18.C语言中,系统自动打开的文件是( D 输入输出设备文件,就是 stdin/stdout/stderr三个文件 ) A.二进制文件 B.随机文件 ...
延庆县18598066314: 求解答一下C语言编程题,万分感谢 - ?
当涂凤一舒: 1)原代码x没声明,算法有错误.#include "stdio.h" int main(void){ int i,n; float s=0.0,x,t1=0.0,t2=1.0; printf("x,n=?"); scanf("%f,%d",&x,&n); for(i=1;i<=n;i++){ t1=t1+x; t2=t2/i; s=s+t1*t2; } printf("s=%f\n",s); return 0; }2)原代码书写不规范...
延庆县18598066314: 急!!寻求C语言高手帮忙解答!?
当涂凤一舒: #include<stdio.h> void main() { char string[100]; int i,num=0,space=0; //i是循环变量,num是空格个数,space是空格标志位 char c; gets(string); for(i=0;(c=string[i])=='\0';i++) if(c!=' ')space=0; else if(space==0) { space=1; num++; } printf("there are %d spaces in the line.\n",num); } 这是我做的第2题答案
延庆县18598066314: C语言题目(急需答案!)谢谢! - ?
当涂凤一舒: //这是代码,#include#include void main(){ char str[20],*pt1,*pt2;//在这我定义的最大长度为20.你可以跟据自己的需要改, gets(str)...
延庆县18598066314: C语言编程 急需求解?
当涂凤一舒: //第一题: #include <stdio.h> void main() { int num; printf("请输入一个整数\n"); scanf("%d",&num); if(num<0)//num在小于0的情况下 { printf("%d是一个负数,既不是奇数也不是偶数!\n",num); } else if(num>0)//num在大于0的情况下 { if(...