如何在Linux平台上运行的C中声明bool数据类型的变量.我尝试了以下但它给出了一个错误:
#include<stdio.h>
#include<string.h>
bool factors[1000]
void main()
{
}
Run Code Online (Sandbox Code Playgroud) 我接受了一个角色作为用户的输入.我想打印该字符的ASCII值作为输出.如果不使用任何预定义的函数(如果存在),我怎么能这样做呢?
我接受一个复合数作为输入.我想打印它的所有因素,也是这个数字的最大素数因子.我写了以下代码.它完全正常,直到数字51.但是如果输入任何大于51的数字,则显示错误的输出.我怎样才能纠正我的代码?
#include<stdio.h>
void main()
{
int i, j, b=2, c;
printf("\nEnter a composite number: ");
scanf("%d", &c);
printf("Factors: ");
for(i=1; i<=c/2; i++)
{
if(c%i==0)
{
printf("%d ", i);
for(j=1; j<=i; j++)
{
if(i%j > 0)
{
b = i;
}
if(b%3==0)
b = 3;
else if(b%2==0)
b = 2;
else if(b%5==0)
b = 5;
}
}
}
printf("%d\nLargest prime factor: %d\n", c, b);
}
Run Code Online (Sandbox Code Playgroud) 我接受一个字符串作为命令行参数.我想检查输入的字符串是否是回文并打印结果.我写了以下代码.但它显示所有输入的结果"不是回文".
#include<stdio.h>
#include<string.h>
int main(int argc, char argv[20]) {
int i;
int l = strlen(argv);
char str[20];
bzero(str, 20);
for(i=0; i<l; i++)
{
str[i] = argv[i+2];
}
int flag;
int len = strlen(str);
for(i=0; i< len/2; i++)
{
if(str[i] == str[len - (i+2)])
{
flag = 0;
}
else
{
flag = 1;
break;
}
}
if(flag == 0)
printf("Palindrome\n");
else
printf("Not a palindrome\n");
}
Run Code Online (Sandbox Code Playgroud)