当前位置:首页 » 编程语言 » 新手求助c语言问题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

新手求助c语言问题

发布时间: 2023-05-15 02:00:49

1. 新手求助c语言的指针问题~~

一个指针是指向一个地址的,而*p就是他指向的那个地址也就是k的值
&k就是k这个值的地址。
*s=k这种情况下s最早是指向m的,你也就是给m赋值信脊型。所以m就变成了5而s还是指向了野运m

s=&k这种情况下s最早是指向m的,但是你后来又给s赋值k这个值的地滑猜址,所以m的值并没有变
而s此时是指向k的
求采纳

2. C语言新手求助

area=sqrt(s*(s-a)*s(s-b)*s(s-c));

应该是area=sqrt(s*(s-a)*s*(s-b)*s*(s-c));
C语言燃缺帆和皮雹扮祥数学上不一样,乘法不能省略*号

3. C语言新手求助!!!急!!!

分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:

10个人围成一圈,编号依次从1到10.从编号为1的人开始从1到3报数,凡报数是3的人退出圈子.编写程序输出依次出列的人的编号伏州.(用选择,循环语句以及数组知识编写)

解析:

新手当然要照顾了 所以一个代码一个代码的给你加注释。。

看明白了最好自己在做一边

这题有很多做法 给你一个最好理解的例子吧 但是这个代码的效率。。。。。

代码如下:

#include <stdio.h>/*头文件*/

#define M 10 /*宏定义 可直接改变圈的大小*/

#define N 3 /*可定义 从1数到 几 退出这个圈子*/

void main()/*主函数*/

{

int a[M];/*定义数组*/

int i;/*用做循环等*/

int x = 1; /*数到几*/

int y = 0;/*最近M次循环里有多少个人已经出去这个圈*/

int k = 1;/*while的开关变量*/

for(i=0; i<M; i++)/*给数组赋值*/

{

a[i] = i+1;

}

while(k)

{

for(i=0; i<M; i++)/*M个为一组按照下标过滤*/

{

if(a[i] == 0)/*判断这个a[i]位置上的人是否已经出圈*/

{

y++;/*如果出圈变量加一*/

continue;/*退出本次循环*/困袭

}

if(x == N)/*a[i]上的人没有出圈 而且正好数到N*/

{

printf("%d ",a[i]);/*显示这个人的编号*/

a[i] = 0;/*用0代替 代表已经出圈*/

x = 1;/*数 数重新从1 开始*/

}

else/*a[i]上的人没有出圈 但还没有数到N*/

{

x++;/*继续数下一个数*/

}

}

if(y == M)/*如果M个为一组全都已经出圈 代表圈里已经没有人了*/

{

k = 0;/*退出while循环程序结束*/

}

else/*圈里还有人*/

{

y = 0;/*把y置0待下次for循环时重新计数*/

}

}

printf("\n");/*可有可无*/

getch();/*可有可无*/

}

结果为

3 6 9 2 7 1 8 5 10 4

你可以更改程序中的M N的数字来缺尺蔽改变要求。

多做做题有好处 ,祝你快点进步。!

由于网络对对齐的处理非常差 所以你可以到这里看代码
bababian/photozoom.sl?pictureid=&size=6&viewID=DB4A5B6DABA0D***********D07C8135UR

如果看不清 请右键 另存后在看 。

网络 老岩 gabmyd@126

4. c语言新手求助谢谢了

1)第一高拆薯个scanf中多了个双引号
scanf("x=%d",&x");
改为御慎
scanf("x=%d",&x);
2)
scanf("x=%d",&x);这种格式你输入的时候戚者需要先输入x=然后才输入x的整数值
改为
printf("x=");
scanf("%d",&x);

5. 新手C语言求助一道题。

for(c=getchar();getchar()!=’#’;c=getchar())

输入12345#后,首先进入for循环要执行第一个c=getchar()给c赋初始值,即为第一个字符'1',c=‘1’,而后进行第二个表达式getchar()!='#'的判断,此时getchar()得到的字符是'2'满足条件但没给c赋值,c还是等于'1',后执行putchar(c),后执行下一次循环,先执行第三个表达式c=getchar(),给c赋值,盯坦此时c='3',然后再进行第二个表达式getchar()!='#'的判断,此时getchar()得到的是'4',满足循环执行条件执行putchar(c),后再执行第三个表达凯租桐式c=getchar(),此时c='5',再执行第二个表达式getchar()!='#',这时的getchar()已经为'#'号,所以不型正满足循环执行条件了,不再执行putchar(c),尽管此时c中的值是'5'也不会输出了

6. c语言的矩阵乘法问题 初学者求助

//矩阵乘法属于线性代数;矩阵乘法的原理不难,只要原理搞请,代码很好写的

#include<stdio.h>

/*功能为计算给定的矩阵a(m行n列)和矩阵b(n行t列)的乘积矩阵c*/

void f(int a[3][4], int b[4][3], int c[3][3], int m, int n, int t) {

//矩阵乘法:前行乘后列

//矩阵a的行(m)作为矩阵c的行

//矩阵b的列(t)作为矩阵c的列

for (int i = 0; i < m; i++) {//新矩阵m行

for (int j = 0; j < t; j++) {//新矩阵t列

int sum=0;

for (int k = 0; k < n; k++) {

sum += (a[i][k] * b[k][j]);//行列对应相乘,然后累加

}

c[i][j]=sum;

}

}

}

/* 请在这里填写答案 */

/*

1 2 3 4

2 3 4 5

3 4 5 6

1 2 3

2 3 4

3 4 5

4 5 6

*/

int main() {

int i, j, a[3][4], b[4][3], c[3][3];

for (i = 0; i < 3; i++)

for (j = 0; j < 4; j++)

scanf("%d", &a[i][j]);

for (i = 0; i < 4; i++)

for (j = 0; j < 3; j++)

scanf("%d", &b[i][j]);


f(a, b, c, 3, 4, 3);

for (i = 0; i < 3; i++) {

for (j = 0; j < 3; j++)

printf("%5d", c[i][j]);

printf(" ");

}

}