我教授要求我制作的节目是取高度(h)和宽度(w)的输入。 宽度在10-20的范围内,高度为3-61。
我必须打印金额随机行,使得k = rand()%(w-1)+ 2
我的问题是我必须比较随机数K是否更接近" w"或零。 如何与非固定整数进行比较?
到目前为止我有什么
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(void)
{
int h,w,k, x,y,z;
char l;
srand(time(NULL));
z=1;
x = rand();
while(z>0){
printf("Enter Width: ");
scanf("%d", &w);
printf("Enter height: ");
scanf("%d", &h);
if(w >= 10 && w <= 20){
if(h>=3 && h <= 61)
z= -1;
}
}
for(z=0;z < h; z++){
printf("%d: ",k);
k = (rand() % (w-1)) + 2;
if(~ ~ ~){ // <-- <-- <-- <-- <-- ****
for(y=0;y < k; y++){
printf(" ");
for(y=0;y < (k-1) ;y++){
printf("j");
}}}
else{
for(y=0;y < (k-1) ;y++){
printf("j");
}}
printf("\n");
}
return 0;
}
在我的if语句中。我想比较K是否接近我的值W而不是0。 它将决定我是先打印K量的零还是只打印我的角色。
- &gt;已完成编辑。仍然在努力。我完成后会发一个答案。 如果我明白了。
答案 0 :(得分:-1)
我不确定我理解你的问题......可能你只想让你的数字正确对齐?在这种情况下,请尝试:
printf("%*d", w, k)
这会打印k
前面有足够的空格,因此打印的整个文字的宽度为w
。
有关详细信息,请参阅this answer。