小编udi*_*043的帖子

在模拟时钟中查找小时和分针之间的角度

我最近接受了这个采访问题:

给定12小时模拟时钟,以度为单位计算小时和分针之间的较小角度.尽你所能精确.

我想知道什么是最简单,最可读,最精确的算法.欢迎使用任何语言的解决方案(但如果您认为有必要,请稍微解释一下).

math floating-point precision angle

33
推荐指数
3
解决办法
6万
查看次数

使用 gets() 获取结构中的输入时出错

我正在制作一个程序来接受教师结构中的输入,但存在未知的运行时错误,这是代码 -

#include <stdio.h>
#include <conio.h>

struct Teacher
{
 char Name[30];
 char Qualifications[20];
 int experience_year;
}th[10];

void teacher()
{    
 int t,i;
 printf("Enter how many teachers are in department\n");
 scanf("%d",&t);
 for(i=1;i<=t;i++)
 {       
   printf("Enter name of teacher : ");
   gets(th[i].Name);
   printf("Enter qualification of teacher : ");
   gets(th[i].Qualifications);
   printf("Enter experience_year of teacher : ");
   scanf("%d",&th[i].experience_year);
 }
 for(i=1;i<=t;i++)
 {
   printf("Details of %d teacher\n",i);
   printf(th[i].Name);
   printf(" ");
   printf(th[i].Qualifications);
   printf(" ");
   printf("%d",th[i].experience_year);
   printf("\n");
 }
}   
int main()
 {
   teacher();
   return 0;
 }
Run Code Online (Sandbox Code Playgroud)

输出是 -

Enter number …
Run Code Online (Sandbox Code Playgroud)

c arrays structure gets

2
推荐指数
1
解决办法
2万
查看次数

printf()中赋值运算符的问题

这是代码

int main()
{
  int x=15;
  printf("%d %d %d %d",x=1,x<20,x*1,x>10);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出是 1 1 1 1

我期待1 1 15 1作为输出,

x*1等于,15但这里x*11,为什么?使用赋值运算符或修改内部值会printf()导致undefined behaviour

c printf gcc assignment-operator

1
推荐指数
1
解决办法
808
查看次数