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(" ");
}
}